程序设计基础课程设计,计算机软件编程的基础课程有哪些?
程序设计基础课程设计,计算机软件编程的基础课程有哪些?详细介绍
本文目录一览: java程序设计课程简介
一 JAVA程序设计课程讲什么内容
《Java程序设计》课程是使用Java语言进行应用程序设计的课程。课程的主要目标有三:一、掌握Java语言的语法,能够较为深入理解Java语言机制,掌握Java语言面向对象的特点。 二、掌握JavaSE中基本的API,掌握在 *** 、线程、输入输出、文本处理、图形用户界面、网络等方面的应用。三、能够编写有一定规模的应用程序,养成良好的编程习惯。 本课程要对Java语言的一些机制会详细讲解,所以具有系统性。本课程还注重实践性,要讲Java语言在文本、文件、窗体界面、图形、数据库、多线程、并行编程方面的应用。还会讲到编好代码的经验与技巧,包括面向对象的思想、软件开发工具的使用等。 在教学中,采用教师讲授、学生自测、学生讨论、编程实践相结合的方法。
二 千锋JAVA课程介绍
Java语言的发展及相关技术的介绍,Java技术和平台在网络计算及电子商务中的应用介绍;Java语言的基础知识:Java语言的主要特点,设计思想,Java虚拟机,垃圾回收机制,安全性的保证机制;Java语言的基本语法规范,包括标识符、关键字、数据类型、表达式和流控制,程序基本结构;?面向对象技术的基本特点,Java语言的面向对象特性,类和对象的概念,封装性、继承性、多态性,Java语言的特殊属性;Java程序的例外处理机制和方法;
Java语言的输入/输出处理机制和方法,常用的输入/输出方法,输入/输出处理的应用;
Java语言的图形用户界面设计:AWT界面设计的基本方法,常用的组件类库,图形用户界面的事件处理模型和方法,JFC介绍,Swing图形界面设计;Java Applet程序设计,Applet程序的特点,运行机制,与浏览器的集成,安全机制的使用;
多线程程序设计,进程和线程的联系和区别,多线程程序设计的一般方法,线程的生命周期,线程状态的控制,多线程的互斥和同步;Java语言的网络编程技术和应用,Socket程序设计,Client/Server程序设计;Java的Servlet和JSP(Java?Server?Page)技术;
JavaBeans和RMI。
三 java程序设计的介绍
《java程序设计》是2006年清华大学出版社 北京交通大学出版社出版的图书,作者是吴萍、蒲鹏、朱丽娟。主要讲述了本书通过对Java编程语言的全面介绍,引导读者快速地掌握Java编程语言的核心内容并学会灵活运用所学的语言知识及面向对象的编程思想。全书共分9章,内容包括Java语言概述、面向对象编程初步、Java的基本语法、类库与数组、面向对象编程深入、Applet程序、图形用户界面编程、异常处理和输入输出及多线程编程。
四 java程序设计的内容简介
本书采用任务驱动教学模式,通过任务的实施,使读者在读程序、版学知识、写程序的过程中,权逐渐掌握面向对象的Java程序设计思想和技能。本书共分12个单元,主要包括Java程序设计过程、基本语法规则、面向对象技术、数组与字符串、异常处理、GUI编程、输入/输出处理、多线程编程以及基础网络编程等内容。
本书适合作为高等职业院校计算机相关专业“Java程序设计”或者“面向对象程序设计”课程的教材,也可作为相关技术人员学习Java的参考用书。
五 java程序设计的内容简介
本书是依据本科和高职高专院校的培养目标及基本要求,结合作者多专年来的教学经验和工程实践属基础,为实施教学改革,使计算机教学进一步面向软件编程实践而编写的一本教材。包括的主要内容有:面向对象程序设计语言,Java程序设计入门,程序控制流程,JAVA的方法、类与对象、继承与派生,JAVA的异常处理,JAVA包的组成和使用,设计APPLET程序、JAVA的多线程、I/O流、网络程序设计等。每章后都配有上机实战和理论巩固题,实现教与学的统一。
本书语言通俗易懂,内容丰富翔实,突出了以实用为中心的特点。使用本书进行学习,可帮助读者用最少的时间掌握最多的知识及工作经验与技巧,是本科和高职高专院校理想的教学教材,同时也可作为软件和信息技术工程人员的参考用书。
六 《JAVA程序设计》课程设计
1 package study.part02;
2 import java.util.Calendar;
3 import java.awt.*;
4 import javax.swing.*;
5 import java.awt.event.*;
6 import java.lang.Thread;
7 public class Clock extends JFrame implements ComponentListener,
8 ItemListener,Runnable{
9 Thread timer;
10 private JComboBox bobox_color;
11 public void start(){
12 if(timer==null)
13 timer=new Thread(this,"ShowTime");
14 timer.start();
15 }
16 public void run(){
17 while(true){
18 try{
19 timer.sleep(1000);
20 }catch(InterruptedException e){}
21 repaint();
22 }
23 }
24 public void stop(){
25 timer.stop();
26 }
27 public Clock(){
28 super("Clock");
29 this.setSize(600,600);
30 this.setDefaultCloseOperation(EXIT_ON_CLOSE);
31 this.setLayout(new FlowLayout());
32
33 this.setVisible(true);
34 }
35 public void paint(Graphics g){
36 Calendar cal=Calendar.getInstance();
37 int year=cal.get(Calendar.YEAR);
38 int month=cal.get(Calendar.MONTH);
39 int day=cal.get(Calendar.DATE);
40 int hour=cal.get(Calendar.HOUR);
41 int minute=cal.get(Calendar.MINUTE);
42 int second=cal.get(Calendar.SECOND);
43 int a,b;
44 a=this.getWidth()/2;
45 for(int i=1;i<=360;i++){
46 double angle=i*Math.PI/180;
47 double radius=a-50;
48 int x=(int)Math.round(radius*Math.sin(angle));
49 int y=(int)Math.round(radius*Math.cos(angle));
50 if(i%30==0){
51 int j=i/30;
52 String str=String.valueOf(j);
53 g.setColor(Color.black);
54 // g.fillOval(a+x,a+y,1,1);
55 g.drawString(str,a+x,a-y);
56 }
57 double radh=a-200;
58 angle=hour*Math.PI/30;
59 int xh=(int)Math.round(radh*Math.sin(angle));
60 int yh=(int)Math.round(radh*Math.cos(angle));
61 g.setColor(Color.red);
62 g.drawLine(a,a,a+xh,a-yh);
63 double radm=a-150;
64 angle=minute*Math.PI/30;
65 int xm=(int)Math.round(radm*Math.sin(angle));
66 int ym=(int)Math.round(radm*Math.cos(angle));
67 g.setColor(Color.blue);
68 g.drawLine(a,a,a+xm,a-ym);
69 double rads=a-100;
70 angle=second*Math.PI/30;
71 int xs=(int)Math.round(rads*Math.sin(angle));
72 int ys=(int)Math.round(rads*Math.cos(angle));
73 g.setColor(Color.yellow);
74 g.drawLine(a,a,a+xs,a-ys);
75 //g.drawString(cal.get(Calendar.HOUR)+":"+cal.get(Calendar.
76 // MINUTE)+":"+cal.get(Calendar.SECOND));
77 }
78 }
79 public void itemStateChanged(ItemEvent e){
80 repaint();
81 }
82 public void ponentResized(ComponentEvent e){
83 repaint();
84 }
85 public void ponentMoved(ComponentEvent e){}
86 public void ponentHidden(ComponentEvent e){}
87 public void ponentShown(ComponentEvent e){}
88
89 public static void main(String[] args){
90 Clock show=new Clock();
91 show.start();
92 }
93 }
七 java程序设计的内容简介
本书讲解了copyJava语言的基本知识及程序设计的基本方法,使读者掌握面向对象程序设计的基本概念,从而具有利用Java语言进行程序设计的能力,为将来从事软件开发,特别是Web应用系统开发打下良好基础。全书共分10章,从内容上大致分为三个部分:第一部分为第1章~第3章,介绍Java程序设计的基础知识,包括Java语言概述、Java语言基础以及算法与程序控制结构。第二部分为第4章~第6章,介绍Java面向对象程序设计的基本方法与技术,这是Java的核心与特色内容,包括类与对象、封装、继承与多态以及异常处理与输入/输出。第三部分为第7章~第10章,介绍Java的实际应用,包括多线程、网络程序设计、数据库应用以及图形用户界面开发技术。
本书内容讲解详细,程序代码均经过调试,案例实用。
本书适合作为高等院校计算机程序设计课程的教材,也可作为具有一定程序设计基础和经验的读者的参考用书。
八 java程序设计的内容简介
本书共分四篇15章来阐述Java语言。其中,第一篇介绍了Java的基础知识,包括Java的历史和特征、Java的开发环境和工具、Java语言的基本语法知识;第二篇介绍了面向对象编程的思想和相关概念,Java中类的定义和对象的创建,Java继承、接口和包,数组与字符串,异常处理及JDK类库的应用;第三篇介绍了Java的AWT和Swing图形包的使用以及Java的多线程编程支持;第四篇通过一些简单的例子介绍了Java在网络和数据库方面的编程。本书的篇章内容采用循序渐进、由简到繁、由易到难的学习思维特征进行编排,书中例子以人们学习与认知过程为基础,以实际开发的需求为目标。书中内容通俗易懂,丰富易学,每章都附有习题,帮助读者及时了解与掌握相应章节的知识点并将其应用到实践中。
本书适合作为高职院校各专业学习Java语言的基础教材,也可作为相关工程技术人员和科技工作者的参考用书。
九 JAVA程序设计课程主讲老师是谁
JAVA程序设计主讲老师是北京大学信息科学技术学院教师,在程序设计方面有多年的项目开发经验和教学经验,任教育部计算机教指委分委专家组成员。出版的教材包括《Java程序设计》(曾获第六届全国高校出版社优秀畅销书奖)、《C#程序设计教程》、《VB程序设计》、《Visual C++.NET程序设计》等。在北京大学开设多门程序设计课程,课程内容以系统知识与实践应用相结合,注重培养对知识体系的深入理解,在与实际工作生活相结合的应用实践中分析问题、解决问题的能力。
十 Java程序设计与Web应用程序设计哪门课简单
java程序设计主要讲解java的基础知识,它是一种语言性的课程。
web应用设计则是一种方向性的课程,这个web的设计你可以使用asp,也可以使用jsp,如果是通过jsp来进行web开发的话,需要java的知识作为基础。
因此,如果你有asp的相关知识的话,可以不学习java直接学习web应用程序设计,如果没有的话,建议你先学习java程序设计,然后再学习web应用程序设计。
计算机软件编程的基础课程有哪些?
课程设置分三类:
第一类课程实行边教学边实践,课堂教学讲基本原理、基本方法;实践教学给出小型实践题目,循序渐进。
这类课程除常规的计算机专业课程外,还要加入软件工程,对象和组件技术等;第二类课程主要进行理论方法教学,逐步积累,集中时间进行实践教学。这类课程有:操作系统、编译原理、数据库系统、网络与网络工程、软件成熟度模型(CMM)。
第三类课程是综合多门课程的知识,与科研项目相结合,以不同的目标或不同的应用作为实践的大型课程设计,如大型程序设计方法课程设计、大型应用软件课程设计等。
c语言学生成绩管理系统课程设计
我有一个类似的,有你说的一
#include
main()
{
int i,j;
float s;
struct stu5
{
long num;
char name[20];
float score[3];
float ave;
}a[3];
for(i=0;i<3;i++)
{
printf("请输入学号,姓名\n");
scanf("%ld,%s",&a[i].num,a[i].name);
printf("请输入3科分数\n");
for(j=0;j<3;j++)
scanf("%f",&a[i].score[j]);
}
for(i=0;i<3;i++)
{
s=0.0;
for(j=0;j<3;j++)
s=s+a[i].score[j];
a[i].ave=s/3.0;
}
for(i=0;i<3;i++)
printf("no:%2d num:%ld name:%s ave:%4.1f\n",i,a[i].num,a[i].name,a[i].ave);
getch();
}
#include
main()
{
int i,j;
float s;
struct stu5
{
long num;
char name[20];
float score[3];
float ave;
}a[3];
for(i=0;i<3;i++)
{
printf("??ê?è??§o? ");
scanf("%ld,%s",&a[i].num);
printf("D???\n");
scanf("%s",a[i].name);
printf("??ê?è?3??·?êy\n");
for(j=0;j<3;j++)
scanf("%f",&a[i].score[j]);
}
for(i=0;i<3;i++)
{
s=0.0;
for(j=0;j<3;j++)
s=s+a[i].score[j];
a[i].ave=s/3;
}
for(i=0;i<3;i++)
printf("no:%2d num:%ld name:%s ave:%4.1f\n",i,a[i].num,a[i].name,a[i].ave);
}
在你发给我的基础上加上头文件#include
,第二个for循环的判断条件改为j<3,在运行程序时,所输入的学号和姓名之间加一个逗号
半功能,后面在家爱一点就是了。
败笔网络安全小组,中国最大的C语言编程论坛
建议你上那学习C语言吧
加我的 QQ 我公告诉你吧
比较麻烦哟、、这个没有几天搞不出来呀、、上次搞一个ATM模拟系统搞了三天、、特别是有界面的,函数调用比较麻烦,而且考虑的情况也很多、、后天迟不迟?、、不过我建议你自己尝试吧、、真的,如果你不尝试着自己做出来,以后你遇到这些都不懂的,但是如果这个系统你能做出来,你遇到其他要求有界面的都会一理通百理明、、我的ATM模拟系统、、
/* Note:Your choice is C IDE */
#include
#include
#include
#include
#define N 100
struct student
{
char num[10];
char name[10];
char tel[11];
};
/* 以下是函数原型说明,被调函数的定义在主调函数后面时,要加此部分 */
void myprint();
void mycreate();
void mydisplay();
void mysearch();
/* sch_num与sch_name函数被mysearch调用 */
void sch_num(FILE *fp);
void sch_name(FILE *fp);
void mymodify();
void myadd();
void mydelete();
/* del_num与del_name函数被mydelete调用 */
void del_num(FILE *fp);
void del_name(FILE *fp);
void mysort();
/* sort_num与sort_name函数被mysort调用 */
void sort_num();
void sort_name();
void main()
{
char choose,yes_no;
do
{
myprint(); /* 显示主菜单 */
printf(" ");
choose=getch();
switch(choose)
{
case '1': mycreate(); break; /* 创建 */
case '2': mydisplay(); break; /* 显示 */
case '3': mysearch(); break; /* 查询 */
case '4': mymodify(); break; /* 修改 */
case '5': myadd(); break; /* 添加 */
case '6': mydelete(); break; /* 删除 */
case '7': mysort(); break; /* 排序 */
case '0': break;
default:printf("\n %c为非法选项!\n",choose);
}
if(choose=='0')
break;
printf("\n 要继续选择吗(Y/N)?\n");
do
{
yes_no=getch();
}while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n');
}while(yes_no!='Y'||yes_no!='y');
}
void myprint() /* 显示菜单界面 */
{
printf("\n\n\n\n\n\n\n\n");
printf(" |----------------------------|\n");
printf(" | 请输入选项编号(0-7): |\n");
printf(" |----------------------------|\n");
printf(" | 1--创建信息管理系统 |\n");
printf(" | 2--显示信息管理系统 |\n");
printf(" | 3--查询信息管理系统 |\n");
printf(" | 4--修改信息管理系统 |\n");
printf(" | 5--添加信息管理系统 |\n");
printf(" | 6--删除信息管理系统 |\n");
printf(" | 7--排序信息管理系统 |\n");
printf(" | 0--退出 |\n");
printf(" |----------------------------|\n");
}
/* 定义创建信息管理系统的函数 */
void mycreate()
{
int i=1;
struct student temp;
FILE *fp;
fp=fopen("d:\\lbh\\guanli.dat","w");
if(fp==NULL)
{
printf("\n 打开文件失败!\n");
return;
}
printf("\n 请输入第1个记录:\n");
printf(" 学号(用#结束输入):");
do
{
gets(temp.num);
}while(strcmp(temp.num,"")==0);
printf(" 姓名(用#结束输入):");
gets(temp.name);
printf(" 电话号码(用#结束输入):");
gets(temp.tel);
while(temp.num[0]!='#'&&temp.name[0]!='#'&&temp.tel[0]!='#')
{
fprintf(fp,"%23s%15s%15s\n",temp.num,temp.name,temp.tel);
i++;
printf("\n 请输入第%d个记录:\n",i);
printf(" 学号(用#结束输入):");
do
{
gets(temp.num);
}while(strcmp(temp.num,"")==0);
printf(" 姓名(用#结束输入):");
gets(temp.name);
printf(" 电话号码(用#结束输入):");
gets(temp.tel);
}
fclose(fp);
}
/* 定义显示信息管理系统的函数 */
void mydisplay()
{
int n=0;
struct student temp;
FILE *fp;
fp=fopen("d:\\lbh\\guanli.dat","r+");
if(fp==NULL)
{
printf("\n 打开文件失败!\n");
return;
}
// clrscr();
printf(" 学号 姓名 电话号码\n");
while(feof(fp)==0)
{
fscanf(fp,"%23s%15s%15s\n",&temp.num,&temp.name,&temp.tel);
printf("%23s%15s%15s\n",temp.num,temp.name,temp.tel);
n++;
}
if(n==0)
printf("\n 文件中无记录!\n");
else
printf("\n 文件中共有%d个记录!\n",n);
fclose(fp);
}
/* 定义查询信息管理系统的函数 */
void mysearch()
{
char c;
FILE *fp;
fp=fopen("d:\\lbh\\guanli.dat","r+");
if(fp==NULL)
{
printf("\n 打开文件失败!\n");
return;
}
printf("\n 按学号查询(h),还是按姓名查询(m)?");
c=getch();
if(c=='h'||c=='H')
sch_num(fp); /* 按学号查询 */
if(c=='m'||c=='M')
sch_name(fp); /* 按姓名查询 */
else
printf("\n 非法字符!\n");
fclose(fp);
}
/* 定义按学号查询信息管理系统的函数 */
void sch_num(FILE *fp)
{
int flag=0,n=0;
char tempnum[10];
struct student temp;
printf("\n 请输入要查询记录的学号:");
gets(tempnum);
while(feof(fp)==0)
{
fscanf(fp,"%23s%15s%15s\n",&temp.num,&temp.name,&temp.tel);
if(strcmp(tempnum,temp.num)==0)
{
if(flag==0)
printf(" 学号 姓名 电话号码\n");
printf("%23s%15s%15s\n",temp.num,temp.name,temp.tel);
flag=1;
}
n++;
}
if(n==0)
printf("\n 文件中无记录!\n");
else
if(flag==0)
printf("\n 文件中无此人!\n");
}
/* 定义按姓名查询信息管理系统的函数 */
void sch_name(FILE *fp)
{
int flag=0,n=0;
char tempname[10];
struct student temp;
printf("\n 请输入要查询记录的姓名:");
gets(tempname);
while(feof(fp)==0)
{
fscanf(fp,"%23s%15s%15s\n",&temp.num,&temp.name,&temp.tel);
if(strcmp(tempname,temp.name)==0)
{
if(flag==0)
printf(" 学号 姓名 电话号码\n");
printf("%23s%15s%15s\n",temp.num,temp.name,temp.tel);
flag=1;
}
n++;
}
if(n==0)
printf("\n 文件中无记录!\n");
else
if(flag==0)
printf("\n 文件中无此人!\n");
}
/* 定义修改信息管理系统的函数 */
void mymodify()
{
char c;
int n=0;
struct student *find,temp,record[100],*p; /* 最多100个记录 */
FILE *fp;
fp=fopen("d:\\lbh\\guanli.dat","r+");
if(fp==NULL)
{
printf("\n 打开文件失败!\n");
return;
}
p=record;
while(feof(fp)==0)
{
fscanf(fp,"%23s%15s%15s\n",p->num,p->name,p->tel);
p++;
n++;
}
fclose(fp);
if(n==0)
{
printf("\n 文件中无记录!\n");
return;
}
printf("\n 请输入要修改记录的学号:");
gets(temp.num);
for(p=record;p
<record+n;p++)
if(strcmp(temp.num,p->num)==0)
{
find=p; /* find记住修改记录的位置 */
break;
}
if(p==record+n)
{
printf("\n 无此人!\n");
return;
}
do
{
printf("\n 请输入正确的学号:");
do
{
gets(temp.num);
}while(strcmp(temp.num,"")==0);
printf(" 请输入正确的姓名:");
gets(temp.name);
printf(" 请输入正确的电话号码:");
gets(temp.tel);
for(p=record;p
<record+n;p++)
if((strcmp(temp.num,p->num)==0)&&(p!=find))
{
printf("\n 学号重复,要重新输入吗(Y/N)?");
do
{
c=getch();
}while(c!='Y'&&c!='y'&&c!='N'&&c!='n');
putchar('\n');
break;
}
if(p==record+n)
{
*find=temp; /* find指向需要修改记录的位置 */
break;
}
}while(c=='Y'||c=='y');
fp=fopen("d:\\lbh\\guanli.dat","r+");
if(fp==NULL)
{
printf("\n 打开文件失败!\n");
return;
}
for(p=record;p
<record+n;p++)
fprintf(fp,"%23s%15s%15s\n",p->num,p->name,p->tel);
fclose(fp);
}
/* 定义添加信息管理系统的函数 */
void myadd()
{
char c;
int n=0;
struct student temp,record[N],*p;
FILE *fp;
fp=fopen("d:\\lbh\\guanli.dat","r+");
if(fp==NULL)
{
printf("\n 打开文件失败!\n");
return;
}
p=record;
while(feof(fp)==0)
{
fscanf(fp,"%23s%15s%15s\n",p->num,p->name,p->tel);
p++;
n++;
}
fclose(fp);
do
{
printf("\n 请输入新记录的学号:");
do
{
gets(temp.num);
}while(strcmp(temp.num,"")==0);
printf(" 请输入新记录的姓名:");
gets(temp.name);
printf(" 请输入新记录的电话号码:");
gets(temp.tel);
for(p=record;p
<record+n;p++)
if(strcmp(temp.num,p->num)==0)
{
printf("\n 学号重复,要重新输入吗(Y/N)?");
do
{
c=getch();
}while(c!='Y'&&c!='y'&&c!='N'&&c!='n');
putchar('\n');
break;
}
if(p==record+n)
{
*p=temp;
break;
}
}while(c=='Y'||c=='y');
fp=fopen("d:\\lbh\\guanli.dat","r+");
if(fp==NULL)
{
printf("\n 打开文件失败!\n");
return;
}
for(p=record;p
<record+n+1;p++)
fprintf(fp,"%23s%15s%15s\n",p->num,p->name,p->tel);
fclose(fp);
}
/* 定义删除信息管理系统的函数 */
void mydelete()
{
char c;
FILE *fp;
fp=fopen("d:\\lbh\\guanli.dat","r+");
if(fp==NULL)
{
printf("\n 打开文件失败!\n");
return;
}
printf("\n 按学号删除(h),还是按姓名删除(m)?");
c=getch();
if(c=='h'||c=='H')
del_num(fp); /* 按学号删除 */
if(c=='m'||c=='M')
del_name(fp); /* 按姓名删 */
else
printf("\n 非法字符!\n");
fclose(fp);
}
/* 定义按学号删除信息管理系统的函数 */
void del_num(FILE *fp)
{
int n=0;
char tempnum[10];
struct student record[N],*p,*k;
p=record;
while(feof(fp)==0)
{
fscanf(fp,"%23s%15s%15s\n",p->num,p->name,p->tel);
p++;
n++;
}
fclose(fp);
printf("\n 请输入要删除记录的学号:");
gets(tempnum);
for(k=record;k
<record+n;k++)
if(strcmp(tempnum,k->num)==0)
break; /* 找到要删记录结束循环 */
if(k
<record+n) * 提前结束循环,说明找到人
for(p=k;p
<k+n-1;p++) * 向左移一位,相当于删除记录
*p=*(p+1);
else
printf("\n 无此人!\n");
fp=fopen("d:\\lbh\\guanli.dat","w");
if(fp==NULL)
{
printf("\n 打开文件失败!\n");
return;
}
for(p=record;p
<record+n-1;p++)
fprintf(fp,"%23s%15s%15s\n",p->num,p->name,p->tel);
}
/* 定义按姓名删除信息管理系统的函数 */
void del_name(FILE *fp)
{
int n=0;
char tempname[10];
struct student record[N],*p,*k;
p=record;
while(feof(fp)==0)
{
fscanf(fp,"%23s%15s%15s\n",p->num,p->name,p->tel);
p++;
n++;
}
fclose(fp);
printf("\n 请输入要删除记录的姓名:");
gets(tempname);
for(k=record;k
<record+n;k++)
if(strcmp(tempname,k->name)==0)
break; /* 找到要删记录结束循环 */
if(k
<record+n) * 提前结束循环,说明找到人
for(p=k;p
<k+n-1;p++) * 向左移一位,相当于删除记录
*p=*(p+1);
else
printf("\n 无此人!\n");
fp=fopen("d:\\lbh\\guanli.dat","w");
if(fp==NULL)
{
printf("\n 打开文件失败!\n");
return;
}
for(p=record;p
<record+n-1;p++)
fprintf(fp,"%23s%15s%15s\n",p->num,p->name,p->tel);
}
/* 定义排序信息管理系统的函数 */
void mysort()
{
char c;
FILE *fp;
fp=fopen("d:\\lbh\\guanli.dat","r+");
if(fp==NULL)
{
printf("\n 打开文件失败!\n");
return;
}
fclose(fp);
printf("\n 按学号排序(h),还是按姓名排序(m)?");
c=getch();
if(c=='h'||c=='H')
sort_num(); /* 按学号排序 */
if(c=='m'||c=='M')
sort_name(); /* 按姓名排序 */
else
printf("\n 非法字符!\n");
}
/* 定义按学号排序信息管理系统的函数 */
void sort_num()
{
int i,j,k,n=0;
char c;
struct student record[N],*p,temp;
FILE *fp;
fp=fopen("d:\\lbh\\guanli.dat","r");
if(fp==NULL)
{
printf("\n 打开文件失败!\n");
return;
}
p=record;
while(feof(fp)==0)
{
fscanf(fp,"%23s%15s%15s\n",p->num,p->name,p->tel);
p++;
n++;
}
fclose(fp);
printf("\n 按升序(s),还是按降序(j)?");
c=getch();
if(c=='s'||c=='S') /* 按学号的升序排列 */
for(i=0;i
<n-1;i++) * 选择法排序
{
k=i;
for(j=i+1;j
<n;j++)
if(strcmp((p+k)->num,(p+j)->num)>0)
k=j;
temp=*(p+k);
*(p+k)=*(p+i);
*(p+i)=temp;
}
else
if(c=='j'||c=='J') /* 按学号的降序排列 */
for(i=0;i
<n-1;i++) * 选择法排序
{
k=i;
for(j=i+1;j
<n;j++)
if(strcmp((p+k)->num,(p+j)->num)<0)
k=j;
temp=*(p+k);
*(p+k)=*(p+i);
*(p+i)=temp;
}
else
{
printf("\n 非法字符!\n");
return;
}
fp=fopen("d:\\lbh\\guanli.dat","w");
if(fp==NULL)
{
printf("\n 打开文件失败!\n");
return;
}
for(p=record;p
<record+n;p++)
{
fprintf(fp,"%23s%15s%15s\n",p->num,p->name,p->tel);
printf("%23s%15s%15s\n",p->num,p->name,p->tel);
}
fclose(fp);
}
/* 定义按姓名排序信息管理系统的函数 */
void sort_name()
{
int i,j,k,n=0;
char c;
struct student record[N],*p,temp;
FILE *fp;
fp=fopen("d:\\lbh\\guanli.dat","r+");
if(fp==NULL)
{
printf("\n 打开文件失败!\n");
return;
}
p=record;
while(feof(fp)==0)
{
fscanf(fp,"%23s%15s%15s\n",p->num,p->name,p->tel);
p++;
n++;
}
fclose(fp);
printf("\n 按升序(s),还是按降序(j)?");
c=getch();
if(c=='s'||c=='S') /* 按姓名的升序排列 */
for(i=0;i
<n-1;i++) * 选择法排序
{
k=i;
for(j=i+1;j
<n;j++)
if(strcmp((p+k)->name,(p+j)->name)>0)
k=j;
temp=*(p+k);
*(p+k)=*(p+i);
*(p+i)=temp;
}
else
if(c=='j'||c=='J') /* 按姓名的降序排列 */
for(i=0;i
<n-1;i++) * 选择法排序
{
k=i;
for(j=i+1;j
<n;j++)
if(strcmp((p+k)->name,(p+j)->name)<0)
k=j;
temp=*(p+k);
*(p+k)=*(p+i);
*(p+i)=temp;
}
else
{
printf("\n 非法字符!\n");
return;
}
fp=fopen("d:\\lbh\\guanli.dat","w");
if(fp==NULL)
{
printf("\n 打开文件失败!\n");
return;
}
for(p=record;p
<record+n;p++)
fprintf(fp,"%23s%15s%15s\n",p->num,p->name,p->tel);
fclose(fp);
}
</n;j++)
</n;j++)
</record+n;p++)
</n;j++)
</n;j++)
</record+n;k++)
</record+n;k++)
</record+n+1;p++)
</record+n;p++)
</record+n;p++)
</record+n;p++)
</record+n;p++)
大一计算机专业的课程有哪些?主要学什么?
大一计算机专业主要学计算机应用基础、计算机网络技术、C语言、计算机组装与维修、企业网安全高级技术、企业网综合管理、网络设备与网络技术、网络综合布线技术相关的专业课程。
大一计算机专业的课程学习偏重基础性学习,大一 一整年部分学校要求学完高等数学、线性代数离散数学,大一也会接触一些编程语言,比如说C语言、C加加JAVA语言、python语言等。不同计算机类的专业,所学课程不太一样,但基本以基础学科、基础的编程语言为主。
除了计算机专业的课程以外,大一学期学生还需要学习一些公共课程、选修课程,公务课程如大学英语、大学体育、大学思政课等,选修课程可以根据课表选择自己比较感兴趣的课程。
计算机专业主要课程如下:
1、高等数学、线性代数、概率论与数理统计、离散数学、计算机原理、人工智能、程序设计基础、面向对象程序设计、数字逻辑电路、电路电子技术、数据结构与算法、WEB程序设计、计算机组成与结构、操作系统;
2、数据库系统原理、编译原理、计算机网络、网络工程、软件工程、数据库应用微型计算机技术、单片机技术、嵌入式系统、嵌入式操作系统、嵌入式设计与应用、移动设备应用软件开发等。
3、实践性课程:工程训练、计算机应用基础、训练、认识实习、生产实习、毕业实习、教学实验、社会实践、课程设计、综合设计、毕业设计(论文)等环节。
关于C程序课程设计
1 就是设计文档了,要求能通过这个文档没有任何麻烦的实现代码
2 课程设计内容应该就是具体的功能模块
3 结构图可以画uml图撒,这个最标准,功能模块图可以是用例图也可以是时序图
4 数据结构就是用到的存储结构了,象链表,堆栈,数组都是数据结构
//对于各模块的功能,如果有接触过psp可以写如下几个模板,函数模板和逻辑模板,所谓的设计就是4个模板组成的,期中逻辑和函数是必不可少的两个。可以参照psp开发设计
好抽象哦
课程设计包括你的文档,代码以及可执行程序。
代码和可执行程序可能需要额外提交,比如上传到指定FTP,或者以邮件附件形式发送到指定邮箱,便于老师检查。文档部分一般要求打印出来。
文档部分如下:
1.课程设计整体设计说明
包含课程设计要求,目标,以及整体功能的概要性说明,虽然是概要,但是一般字数不要太少。可以略微提一下工程的阶段性安排,比如几天内完成某模块,几天内完成文档,等等。
2.课程设计内容
自顶向下按模块划分整个工程,概述每个模块的功能,各模块之间的关系,最好配图。
3.系统功能模块结构图
学C语言的时候一般还没学到软件工程,所以不需要UML,画DFD图就可以了。如果不知道什么是DFD或者UML…… 那就随便画画吧,把模块功能和结构表示清楚就行了。
4.数据结构设计及用法说明
代码中定义了哪些struct,enum,stack,等等,详细说明其中每个成员是做什么的,在代码中哪些功能模块中使用到。
问题补充:5.各模块的功能
包含在课程设计内容里面,如果要求单独写出来,就需要更详细。
编程原理课程设计心得体会
课程设计指的是对某一门课程进行教学策划的研究活动,下面是为大家搜集整理的编程原理课程设计心得体会,欢迎阅读。
编程原理课程设计心得体会(一)
在老师和同学的帮助下,通过自己的努力,终于完成了这次职工信息表的简单课程设计。我经过这段时间的编程,对其中的艰辛,我是深有体会。从刚开始的选择程序、理解程序到后来的调试程序以及改进程序这个过程中,我遇到了各种各样的困难和挫折。但是我坚定信念,对自己充满了信心,想尽一切办法克服重重困难。
通过课程设计的训练,我进一步学习和掌握了对程序的设计和编写,从中体会到了面向对象程序设计的方便和巧妙。懂得了在进行编写一个程序之前,要有明确的目标和整体的设计思想。另外某些具体的细节内容也是相当的重要。这些宝贵的编程思想和从中摸索到的经验都是在编程的过程中获得的宝贵财富。这些经验对我以后的编程会有很大的帮助的,我要好好利用。
虽然这次课程设计是在参考程序的基础之上进行的,但是我觉得对自己是一个挑战和锻炼。我很欣慰自己能在程序中加入自己的想法和有关程序内容,也就是对它的程序改进了一番改进,并有创新。但是我感觉自己的创新还不够典型,总之还不是很满意。另外由于时间的紧迫和对知识的了解不够广泛,造成了系统中还存在许多不足,功能上还不够完善。以后我会继续努力,大胆创新,争取能编写出透射着自己思想的程序。这次课程设计让我充分认识到了自己的不足,认识到了动手能力的重要性。我会在以后的学习中更加努力锻炼自己,提高自己,让自己写出更好更完善的程序,为以后的编程打好基础!
总而言之,这次C++程序设计实践让我收获很大。
编程原理课程设计心得体会(二)
这次课程设计是一次非常珍贵的可以让我们所学的理论与实际相结合的机会。我们小组的题目是matrix矩阵类的实现,我们通过从图书借阅系统类似书籍、上网查阅资料、同学之间的相互协作很好地完成了题目要求。
通过这次比较完整的一个程序的设计,我走出了纯理论的学习,开始从一种全新的角度去学习。理论与实际相结合的设计,锻炼了我综合运用所学的基础知识,解决实际问题的能力,同时也提高我查阅文献资料、对程序整体的把握等其他能力水平。而且通过对整体的掌控,对局部的取舍,以及对细节的斟酌处理,都使我的能力得到了锻炼,我的各方面经验都得到了极大的丰富。
通过完成这个矩阵类我的程序编写能力有了很大的提高,对c++类的理解也更加深刻,对类的运用也更加纯熟,对函数的调用、构造、构析、重载的运用更加成熟。和老师以及同学的沟通交流更使我对程序整体的规划与设计有了新的认识,也对自己提出了新的要求。正是这一次设计让我积累了许多实际经验。也必然会让我在未来的工作学习中表现出更高的耐力、理解力、实践力。
顺利如期的完成本次课程设计给了我很大的信心,但是也为我指出很多不足的地方。学习其实就是一个不断完善的过程,正视自己的不足之处。在以后的工作和学习中不断的弥补这些不足之处,在以后的生活中也要保持同样的态度,不断地完善自己。
编程原理课程设计心得体会(三)
经过一个学期的学习,我对C语言有了一定的了解。C语言是学习计算机科学的基础,作为一名计算机专业学生,掌握C语言更是毋庸置疑。在上课之前,就经常听同学说,C语言很难学,确实,刚开始听课时觉得老师不知所云。不过,发现对后续内容的预习后,前面的疑团都迎刃而解,这让我对C语言的学习更有信心。
计算机最重要的就是上机操作,自己编写程序,在VisualC++运行,刚开始经常会出现错误,经过分析改正后,终于能够运行了,就觉得特别激动。
课程设计是一个把需求分析、程序编写、程序调试、撰写报告结合为一体的过程。在这个过程中,不仅锻炼了我们缜密的思维和坚持不解的毅力,更磨练了一个队伍的团结互助的精神。只有通过大家一起努力才能将课程设计的所有环节都顺利的完成。另外程序设计中我们遇到问题并解决问题的过程,使得我们独自探索并解决问题的能力了有了一个提高,这有利于我们以后的学习。同时这整一个过程,也使我们对程序编写的整个过程有了一个统筹全局的思想,因为需求分析、程序编写、程序调试、撰写报告这些过程是环环相扣的,绝对不可能独立进行。
课程设计是学习《C程序设计》后对知识的全面测试,刚拿到题目时不知道怎么去处理,觉得很复杂,经过和小组成员的讨论,上网查资料,逐个问题逐个击破,问题不再那么复杂。通过课程设计,我发现自己还存在很多知识漏洞,编写程序时,经常会出现低级错误,很多知识点都不熟悉。在今后的时间里,我一定要投入更多精力学习C语言,以课本为基础,请教老师,与同学讨论,参考资料,上机操作,我相信我一定能把C语言学好。
编程原理课程设计心得体会(四)
本学期我们开设了《模拟电路》与《数字电路》课,这两门学科都属于电子电路范畴,与我们的专业也都有联系,且都是理论方面的指示。正所谓“纸上谈兵终觉浅,觉知此事要躬行。”学习任何知识,仅从理论上去求知,而不去实践、探索是不够的,所以在本学期暨模电、数电刚学完之际,紧接着来一次电子电路课程设计是很及时、很必要的。这样不仅能加深我们对电子电路的任职,而且还及时、真正的做到了学以致用。
这两周的课程设计,先不说其他,就天气而言,确实很艰苦。受副热带高气压影响,江南大部这两周都被高温笼罩着。人在高温下的反应是很迟钝的,简言之,就是很难静坐下来动脑子做事。天气本身炎热,加之机房里又没有电扇、空调,故在上机仿真时,真是艰熬,坐下来才一会会,就全身湿透,但是炎炎烈日挡不住我们求知、探索的欲望。通过我们不懈的努力与切实追求,终于做完了课程设计。
在这次课程兼职设计过程中,我也遇到了很多问题。比如在三角波、方波转换成正弦波时,我就弄了很长时间,先是远离不清晰,这直接导致了我无法很顺利地连接电路,然后翻阅了大量书籍,查资料,终于在书中查到了有关章节,并参考,并设计出了三角波、方波转换成正弦波的电路图。但在设计数字频率计时就不是那么一帆风顺了。我同样是查阅资料,虽找到了原理框图,但电路图却始终设计不出来,最后实在没办法,只能用数字是中来代替。在此,我深表遗憾!
这次课程设计让我学到了很多,不仅是巩固了先前学的模电、数电的理论知识,而且也培养了我的动手能力,更令我的创造性思维得到拓展。希望今后类似这样课程设计、类似这样的锻炼机会能更多些!
《C语言程序设计》课程设计
#include
#include
#include
#include
#define BUFFERSIZE 1024
#define MAXACCOUNT 1000
typedef struct BankAccount
{
int account;
int key;
char name[32];
float balance;
}BANKACCOUNT;
BANKACCOUNT accountCollection[MAXACCOUNT];
int curAccount = 0;
void InsertAccount(FILE *fp)
{
BANKACCOUNT newaccount;
printf("please input the account information\n");
printf(">>account num:");
scanf("%d",&(newaccount.account));
printf(">>key:");
scanf("%d",&(newaccount.key));
printf(">>name:");
scanf("%s",newaccount.name);
printf(">>balance:");
scanf("%f",&(newaccount.balance));
fseek(fp,0L,SEEK_END);
fprintf(fp,"%d %d %s %.2f\n",newaccount.account,newaccount.key,newaccount.name,newaccount.balance);
}
void GetAccount(FILE *fp)
{
int accountnum;
int key;
char name[32];
float balance;
int i =0,j;
char buffer[BUFFERSIZE];
int len;
curAccount = 0;
fseek(fp,0,SEEK_SET);
while(!feof(fp)) /* 因为feof()最后会读2遍,所以最后curAccount多加了1 */
{
fscanf(fp,"%d %d %s %f",&accountnum,&key,name,&balance);
accountCollection[curAccount].account = accountnum;
accountCollection[curAccount].key = key;
strcpy(accountCollection[curAccount].name ,name);
accountCollection[curAccount].balance = balance;
curAccount++;
}
}
void ListAccount(FILE *fp)
{
int i =0;
printf("There is %d accounts at all:\n",curAccount-1);/* curAccount减去多加的1 */
for(i = 0;i< curAccount-1;i++)
{
printf("ACCOUNT[%d]:\n",i+1);
printf("account:%d\n",accountCollection[i].account);
printf("name:%s\n",accountCollection[i].name);
printf("balance:%.2f\n",accountCollection[i].balance);
}
}
int SearchAccount(FILE *fp,int accountnum)
{
int i =0;
for(i = 0;i< curAccount-1;i++)
{
if(accountCollection[i].account == accountnum)
{
printf("ACCOUNT[%d]:\n",i+1);
printf("account:%d\n",accountCollection[i].account);
printf("name:%s\n",accountCollection[i].name);
printf("balance:%.2f\n",accountCollection[i].balance);
return 1;
}
}
return 0;
}
void DelAccount(FILE *fp,int accountnum)
{
int i;
if(SearchAccount(fp,accountnum)==0)
printf("Can't find the account\n");
else
{
for(i = 0;i
<curaccount-1;i++)
{
if(accountCollection[i].account != accountnum)
fprintf(fp,"%d %d %s %.2f\n",accountCollection[i].account,accountCollection[i].key,accountCollection[i].name,accountCollection[i].balance);
}
printf("delete successfully!\n");
}
}
int main()
{
FILE *fp;
int accountnum;
int i;
do{
system("cls"); //清屏
puts("********************************************");
puts("* You can choose : *");
puts("* 1 : Insert a new Account *");
puts("* 2 : List all Accounts *");
puts("* 3 : Find a Account *");
puts("* 4 : Delete a Account *");
puts("* 5 : quit *");
puts("********************************************");
printf("Please input your choice:");
scanf("%d",&i);
system("cls"); //清屏
switch(i)
{
case 1:
if(!(fp = fopen("account.txt","a+")))
{
printf("can't open the file account.txt\n");
exit(0);
}
InsertAccount( fp);
printf("press any key to continue.....\n");
getch();
fclose(fp);
break;
case 2:
if(!(fp = fopen("account.txt","r")))
{
printf("can't open the file account.txt\n");
exit(0);
}
GetAccount(fp);
ListAccount(fp);
fclose(fp);
printf("press any key to continue.....\n");
getch();
break;
case 3:
printf("please input the account num:\n");
scanf("%d",&accountnum);
if(!(fp = fopen("account.txt","r")))
{
printf("can't open the file account.txt\n");
exit(0);
}
GetAccount(fp);
if(!SearchAccount(fp,accountnum))
printf("There is not the account:%d\n",accountnum);
fclose(fp);
printf("press any key to continue.....\n");
getch();
break;
case 4:
printf("please input the account num:\n");
scanf("%d",&accountnum);
if(!(fp = fopen("account.txt","r")))
{
printf("can't open the file account.txt\n");
exit(0);
}
GetAccount(fp);
fclose(fp);
if(!(fp = fopen("account.txt","w+")))
{
printf("can't open the file account.txt\n");
exit(0);
}
DelAccount(fp,accountnum);
fclose(fp);
printf("press any key to continue.....\n");
getch();
break;
default:
break;
}
}while(i != 5);
return 0;
}
账户数据文件名已经设定为account.txt,这个文件要和上面这个程序放在同一个文件夹下面,不然就得用绝对路径(比如"d:\\book\\account.txt"),account内容可以用记事本打开自己改动,然后运行程序后就可以在程序中添加或删除
发,消,息给你,了
给钱不
#include
#include
#include
#include
#define
BUFFERSIZE
1024
#define
MAXACCOUNT
1000
typedef
struct
BankAccount
{
int
account;
int
key;
char
name[32];
float
balance;
}BANKACCOUNT;
BANKACCOUNT
accountCollection[MAXACCOUNT];
int
curAccount
=
0;
void
InsertAccount(FILE
*fp)
{
BANKACCOUNT
newaccount;
printf("please
input
the
account
information\n");
printf(">>account
num:");
scanf("%d",&(newaccount.account));
printf(">>key:");
scanf("%d",&(newaccount.key));
printf(">>name:");
scanf("%s",newaccount.name);
printf(">>balance:");
scanf("%f",&(newaccount.balance));
fseek(fp,0L,SEEK_END);
fprintf(fp,"%d
%d
%s
%.2f\n",newaccount.account,newaccount.key,newaccount.name,newaccount.balance);
}
void
GetAccount(FILE
*fp)
{
int
accountnum;
int
key;
char
name[32];
float
balance;
int
i
=0,j;
char
buffer[BUFFERSIZE];
int
len;
curAccount
=
0;
fseek(fp,0,SEEK_SET);
while(!feof(fp))
/*
因为feof()最后会读2遍,所以最后curAccount多加了1
*/
{
fscanf(fp,"%d
%d
%s
%f",&accountnum,&key,name,&balance);
accountCollection[curAccount].account
=
accountnum;
accountCollection[curAccount].key
=
key;
strcpy(accountCollection[curAccount].name
,name);
accountCollection[curAccount].balance
=
balance;
curAccount++;
}
}
void
ListAccount(FILE
*fp)
{
int
i
=0;
printf("There
is
%d
accounts
at
all:\n",curAccount-1);/*
curAccount减去多加的1
*/
for(i
=
0;i<
curAccount-1;i++)
{
printf("ACCOUNT[%d]:\n",i+1);
printf("account:%d\n",accountCollection[i].account);
printf("name:%s\n",accountCollection[i].name);
printf("balance:%.2f\n",accountCollection[i].balance);
}
}
int
SearchAccount(FILE
*fp,int
accountnum)
{
int
i
=0;
for(i
=
0;i<
curAccount-1;i++)
{
if(accountCollection[i].account
==
accountnum)
{
printf("ACCOUNT[%d]:\n",i+1);
printf("account:%d\n",accountCollection[i].account);
printf("name:%s\n",accountCollection[i].name);
printf("balance:%.2f\n",accountCollection[i].balance);
return
1;
}
}
return
0;
}
void
DelAccount(FILE
*fp,int
accountnum)
{
int
i;
if(SearchAccount(fp,accountnum)==0)
printf("Can't
find
the
account\n");
else
{
for(i
=
0;i
评论
0
0
加载更多
参考此处
http://hi.baidu.com/yanggq/blog/item/b6b7c3131cc01b28dd5401c1.html
好多人在要求做课程设计啊,有分赚啊,
</curaccount-1;i++)
C语言程序设计教程的目 录
第1章 C语言概述 11.1 简单的C语言程序 11.2 C语言的发展历史与特点 31.2.1 C语言的发展历史 31.2.2 C语言的特点 41.3 C程序的开发步骤和上机调试流程 51.3.1 C程序的开发步骤 51.3.2 C程序的上机开发过程 6习题1 12第2章 基本数据类型的输入/输出 132.1 C语言的输入/输出 132.2 整型数据的输入/输出 132.3 浮点型数据的输入/输出 142.4 字符数据的输入/输出 152.5 字符串数据的输入/输出 152.6 格式化输入/输出举例 172.7 阅读材料 182.7.1 格式化输出函数printf的格式说明和使用 182.7.2 格式化输入函数scanf的格式说明和使用 19习题2 21第3章 流程控制 223.1 算法 223.1.1 算法的概念 223.1.2 算法的表达方式 233.1.3 基本流程控制结构 253.1.4 案例3.1 求1+1/2+…+1/100的和 263.2 选择语句 263.2.1 案例3.2 求三个整数的最大值(if语句) 263.2.2 案例3.3 百分制成绩转换成五分制成绩(多分支if语句) 293.2.3 案例3.4 判断所输入的一个字符是数字、空白符还是其他字符(switch语句) 313.2.4 案例3.5 百分制成绩转换成五分制成绩(switch语句) 333.3 循环语句 343.3.1 案例3.6 求1+1/2+…+1/100的和(while语句) 343.3.2 案例3.7 求1+1/2+…+1/100的和(do...while语句) 353.3.3 案例3.8 求1+1/2+…+1/100的和(for语句) 373.4 转向语句 393.4.1 案例3.9 判断所输入的一个大于1的正整数是否是素数(break语句) 393.4.2 案例3.10 输出100~200之间能被3整除的数(continue语句) 413.5 应用举例 423.5.1 案例3.11 计算1! + 2! + … + 10!(并讨论溢出问题) 423.5.2 案例3.12 计算级数1-1/3+1/5-1/7+…的和 443.5.3 案例3.13 统计输入的数字字符、字母字符和其他字符的个数 453.5.4 案例3.14 求两个正整数的最大公约数和最小公倍数 453.5.5 案例3.15 将一个正整数逆序输出 463.5.6 案例3.16 输入日期并检查其合理性,直到输入合理为止 473.6 阅读材料 483.6.1 C语言的语句 483.6.2 goto语句简介 493.6.3 exit()函数 493.6.4 程序调试简介 50习题3 51第4章 函数 544.1 模块化程序设计 544.1.1 模块化程序设计的基本思想 544.1.2 C语言程序设计的基本结构 554.2 函数定义和调用 554.2.1 案例4.1 求3个整数的最大值(函数定义和调用) 574.2.2 案例4.2 验证哥德巴赫猜想(在1000以内验证) 574.2.3 案例4.3 计算1k+2k+…+nk(函数原型、函数的嵌套调用) 594.3 标识符的作用域 604.3.1 案例4.4 块作用域 604.3.2 案例4.5 文件作用域 614.3.3 函数原型作用域 614.3.4 函数作用域 624.4 变量的存储种类 624.4.1 自动变量 624.4.2 寄存器变量 624.4.3 案例4.6 外部变量 634.4.4 案例4.7 静态变量 644.5 指针基础 644.5.1 地址和指针的概念 644.5.2 指针变量 654.5.3 案例4.8 两数交换(指针做参数) 654.5.4 案例4.9 输入10个整数求它们的最大值、最小值和总和(指针做参数) 664.5.5 案例4.10 统计百分制成绩各分数段的人数(指针做返回值) 674.6 递归函数 684.6.1 案例4.11 计算4!(递归函数的定义和递归调用过程分析) 684.6.2 案例4.12 计算整数各位数字之和 694.6.3 案例4.13 计算 704.6.4 案例4.14 汉诺塔问题 70习题4 71第5章 编译预处理 745.1 宏 745.1.1 案例5.1 无参宏 755.1.2 案例5.2 有参宏 755.2 文件包含 765.3 条件编译 775.3.1 条件编译命令 775.3.2 案例5.3 头文件设计 785.4 阅读材料 805.4.1 程序的多文件组织方法 805.4.2 多文件程序的编译和链接 80习题5 81第6章 数组 836.1 一维数组 836.1.1 一维数组的定义、初始化和使用 836.1.2 最大值、最小值和平均值 866.1.3 一维数组作为函数的参数 886.1.4 数组排序 906.1.5 数组查找 956.2 二维数组 986.2.1 二维数组的定义、初始化和使用 986.2.2 矩阵转置 1006.2.3 二维数组的本质 1016.3 字符串 1046.3.1 字符数组和字符串 1046.3.2 字符串的输入和输出 1056.3.3 字符串处理 107习题6 111第7章 指针 1207.1 简介 1207.2 什么是指针 1207.2.1 变量、变量的值与变量的地址 1207.2.2 指针 1227.2.3 定义指针变量 1237.2.4 间接运算符 1237.2.5 指针赋值 1257.2.6 指针作为函数的参数 1267.2.7 返回指针的函数 1307.3 指针与一维数组 1317.3.1 使指针指向数组 1317.3.2 指针算术运算 1317.3.3 指针关系运算 1387.3.4 一维数组名与指针 1407.3.5 向函数传递数组实际上是传递指针 1427.4 指针与二维数组 1457.4.1 二维数组的本质 1457.4.2 指向数组的指针与二维数组名 1467.4.3 用指向元素的指针访问二维数组 1517.5 指针数组 1537.6 带参数的main函数 1547.7 指向指针的指针 1557.8 指向函数的指针 1567.8.1 指向函数的指针的定义和使用方法 1567.8.2 指向函数的指针作函数参数 1577.9 字符串处理函数 1597.9.1 字符串的输入输出(gets和puts) 1597.9.2 求字符串长度(strlen) 1607.9.3 字符串复制(strcpy、strncpy)和字符串连接(strcat) 1607.9.4 字符串比较(strcmp) 1637.9.5 字符串中字符的大小写转换(strlwr和strupr) 1647.10 动态内存分配 1647.10.1 C语言的程序内存空间 1657.10.2 用malloc函数分配一块内存 1657.10.3 用calloc函数分配连续的内存空间 1677.10.4 用realloc函数改变内存块的大小 168习题7 170第8章 自定义数据类型 1788.1 结构体 1788.1.1 案例8.1 复数的四则运算 1838.1.2 案例8.2 学生成绩统计 1848.2 单向链表 1868.2.1 案例8.3 单向链表的建立和基本操作 1868.2.2 案例8.4 猴子选大王 1898.3 共用体 1928.3.1 案例8.5 共用体类型及其变量的定义和使用 1928.3.2 案例8.6 学生、教职工基本信息管理 1938.4 枚举 2008.4.1 案例8.7 枚举类型及其变量的定义和使用 2018.4.2 案例8.8 枚举类型数据的输入和输出 2018.5 自定义数据类型举例 2028.6 阅读材料 2048.6.1 位域 2048.6.2 无名共用体类型的使用 2058.6.3 类型别名 206习题8 206第9章 文件 2099.2 文件概述 2099.1.1 文件的概念 2109.1.2 文本文件与二进制文件 2109.1.3 缓冲文件系统 2119.1.4 文件类型指针 2119.2 文件的打开与关闭 2129.2.1 打开文件(fopen()函数) 2129.2.2 关闭文件函数(fclose函数) 2149.3 文本文件的读写 2149.3.1 案例9.1 复制文件(fputc函数和fgetc函数) 2149.3.2 案例9.2 复制文件(fgets函数和fputs函数) 2169.3.3 案例9.3 学生基本信息的顺序读/写(fprintf函数和fscanf函数) 2189.4 二进制文件的读写 2209.4.1 案例9.4 学生基本信息的顺序读/写(fread函数和fwrite函数) 2209.4.2 案例9.5 学生基本信息的随机读/写(fseek函数) 2229.5 阅读材料 2249.5.1 ferror()函数 2249.5.2 clearerr()函数 2249.5.3 feof()函数 224习题9 224第10章 课程设计 22610.1 课程设计的目的和要求 22610.2 课程设计举例——学生成绩管理系统 22610.3 课程设计选题 233实验一 C语言编译环境与程序开发 235实验二 输入/输出程序设计 236实验三 选择结构 238实验四 循环结构 241实验五 函数 244实验六 递归 245实验七 数组的使用 246实验八 字符串处理 248实验九 指针与数组 250实验十 指针与函数 251实验十一 结构体与单向链表 253实验十二 文件 255附录A 常用字符与ASCII码对照表 257附录B C语言的32个关键字 259附录C C语言常用标准库函数 260附录D Turbo C 2.0程序调试技术 266附录E Visual C++ 6.0程序调试技术* 270附录F 推箱子游戏源代码 272附录G 贪吃蛇游戏源代码 275附录H 扫地雷游戏源代码 279附录I 速算24源代码 288
c语言程序设计课程设计,哪位大神帮帮我,最好有注释,不然我看不懂
#include
#include
#include
int compute(int m, int n, char op){ switch(op) { case '+': return m+n; case '-': return m-n; }}int genExpression(char *exp){ int m, n; char c, op[2] = {'+', '-'}; srand((unsigned)time(NULL)); m = rand()%10+1; // 随机生成两个操作数 n = rand()%10+1; c = op[rand()%2]; // 随机生成运算符 if(c == '-' && m < n) {// 如果被减数小于减数,两个数交换 m ^= n; n ^= m; m ^= n; } sprintf(exp, "%d %c %d = ?", m, c, n); return compute(m, n, c);}main(){ char exp[20]; int i, n, result, answer, right = 0; printf("请输入题数:"); scanf("%d", &n); for(i = 0; i < n; i++) { result = genExpression(exp); puts(exp); scanf("%d", &answer); if(result == answer) { printf("正确!\n"); right ++; } else printf("错误!\n"); } printf("你最终的分数是:%d\n", 100*right/n); return 0;}
急急急!!!会C语言编程的朋友 帮个忙啊
我也同意大家的看法。现在偷懒以后吃苦!
学生成绩管理 网上多的是 自己找个就是了
够懒的 ,vb,vc,MFC,java 各种版本都有
这样下去有你后悔的一天,在学习上你耍赖 老师管不了你 到你工作了 没有那个老板会惯你的
看看现在的就业形势,你就不着急。劝你还是好好学学英语,日语和专业吧,等你从事这行时,你会发现就是在学校好好学,也不过是9牛1毛。
一个过来人的忠告
20分让人帮你做作业,可以的你。
小学生让人帮做加减乘除还起码给个5块10块人民币的吧。
就20分,会做也没时间帮你做啊……没动力嘛
靠 你死吧 那么多 你再多给点分 我还可以帮你考虑下
什么意思?
案例一 C++
#include
using namespace std;
char num[16] = {
'0', '1', '2', '3', '4', '5', '6', '7',
'8', '9', 'A', 'B', 'C', 'D', 'E', 'F'
};
int ToInt(char &n){
if (n<='9') return (int )(n-48);
else return (int )(n-'A'+10);
}
int main(){
int P = 10, Q; \\Q是要输入的2 8 16进制
string N = "";
while (cin >> Q >> N){
if (N == "0"){
cout << 0 << endl;
return 0;
}
string OUT = "";
long long sum = 0, p = 1;
for (int i = 0; i
<n.size(); i++){
sum += ToInt(N[N.size()-1-i])*p;
p*=P;
}
while (sum>0) OUT.insert(0, 1, num[sum%Q]), sum/=Q;
cout << OUT << endl;
}
return 0;
}