本文目录
- c语言课程设计(学生成绩管理)
- C语言课程设计任务
- C语言课程设计(成绩管理系统)
- c语言课设
- c语言课程设计答辩会问些什么问题
c语言课程设计(学生成绩管理)
#include《iostream.h》/*head.h*/#include《string.h》#include《fstream.h》#include《stdlib.h》#include《ctype.h》typedef struct student{char num; //定义学号 char name;//定义姓名// int tax;//定义学生的按总分排名的名次,这个我不做了,自己可以加上,看看怎样修改,都做出来就没意思了呵呵。 int english;//定义英语成绩 int math;//定义数学成绩// int score;//定义总分 这个我不要了struct student *next;//指向下一个学生的指针链域}student;int getint(int a) //字符转换成数字{ return (int)(a-’0’);}student * head1;//头指针,全局变量void student_read() //从文件中读入学生成绩原始数据{ int i=7;//共有7个学生的记录,需要时可以修改该初始值 ifstream infile (“student.txt“,ios::in);//读文件的操作使用C++ while(i》0) { student * p;//定义临时结构体指针变量p p=new student;//开辟内存空间,并将p指向该地址的引用 infile》》p-》num》》p-》name》》p-》english》》p-》math;//为了简化 p-》next=head1-》next; head1-》next=p; i--;//下标减1 }}void Reverselist(student *p){ student *p1,*p2,*p3; student *_data; _data=new student; p1=p-》next; if(!p1-》next) return; p2=p1-》next; if(!p2-》next) { strcpy(_data-》num,p1-》num); strcpy(_data-》name,p1-》name); // _data-》tax=p1-》tax; _data-》english=p1-》english;_data-》math=p1-》math;//_data-》score=p1-》score;strcpy(p1-》num,p2-》num); strcpy(p1-》name,p2-》name);// p1-》tax=p2-》tax; p1-》english=p2-》english;p1-》math=p2-》math;//p1-》score=p2-》score;strcpy(p2-》num,_data-》num); strcpy(p2-》name,_data-》name); // p2-》tax=_data-》tax; p2-》english=_data-》english;p2-》math=_data-》math;//p2-》score=_data-》score; return; }//if p3=p2-》next; p1-》next=NULL; while(p3-》next) {p2-》next=p1; p1=p2; p2=p3; p3=p3-》next; }//while p2-》next=p1; p3-》next=p2; p-》next=p3;}//Reverselistvoid student_order(student *p){ student *_temp = p-》next; student *_node = p-》next; student *temp; temp=new student; temp-》next=NULL;for (;_temp-》next;_temp = _temp-》next) { for (_node = p-》next;_node-》next;_node = _node -》next) { if ((_node-》english+_node-》math)》(_node-》next-》english+_node-》next-》math)) { strcpy(temp-》num,_node-》num); strcpy(temp-》name,_node-》name); temp-》english=_node-》english; temp-》math=_node-》math; // temp-》score=_node-》score; strcpy(_node-》num,_node-》next-》num); strcpy(_node-》name,_node-》next-》name); _node-》english=_node-》next-》english;_node-》math=_node-》next-》math;//_node-》score=_node-》next-》score; strcpy(_node-》next-》num,temp-》num); strcpy(_node-》next-》name,temp-》name); _node-》next-》english=temp-》english;_node-》next-》math=temp-》math;//_node-》next-》score=temp-》score; }//if }//for }//for Reverselist(p);}//student_ordervoid student_output(student *p){ cout《《“学号 姓名 英语 数学\t\n“; p=p-》next; while(p) {cout《《“ “《《p-》num《《“\t“《《p-》name《《“\t“《《p-》english《《“\t“《《p-》math《《endl; p=p-》next; }}void student_output1(student *p){ cout《《“学号 姓名 英语 数学 总分\t\n“; p=p-》next; while(p) { cout《《“ “《《p-》num《《“\t“《《p-》name《《“\t“《《p-》english《《“\t“《《p-》math《《“\t “《《(p-》english+p-》math)《《endl; p=p-》next; }}void student_write() //将项目数据写入文本文档{ student * p; p=head1; p=p-》next; ofstream outfile(“result.txt“,ios::out); while (p!=NULL) { outfile《《“ “《《p-》num《《“\t“《《p-》name《《“\t“《《p-》english《《“\t“《《p-》math《《“\t “《《p-》english+p-》math《《endl; p=p-》next; } outfile.close(); }/*主程序*/ #include《iostream.h》#include《fstream.h》#include 《stdlib.h》 #include 《stdio.h》#include《conio.h》#include“head.h“void main() { system(“color 1b“); head1=new student; head1-》next=NULL; student_read(); //读入学生数据 student * p1; p1=head1; p1=p1-》next; int temp; student_output(head1); /*显示原有的记录*/ student_order(head1); student_output1(head1); //信息的输出函数 student_write();//将学校数据写入文本 getch();}
C语言课程设计任务
自己编的,你修改下就是了,满意请采纳。#include“stdio.h“#define SIZE 5struct stu{char name;int no;int age;char add;}stu[SIZE];void readdat();void writedat();void change();main(){char k;printf(“ 欢迎进入学生信息管理系统\n“);printf(“\n\n 1.学生信息输入系统 “);printf(“ 2.学生信息查询系统\n“);printf(“ 3.学生信息修改系统\n\n\n“);began:printf(“\n\n请输入选项:“);scanf(“%d“,&k); switch(k){case 1: writedat(); break;case 2: readdat(); break;case 3: change(); break;default: goto began;}goto began;while(1);}void writedat(){FILE *fp;char i;printf(“\n\n请输入学生的姓名、学号、年龄和地址:\n“);for(i=0;i《SIZE;i++){printf(“输入%d号学生信息:“,i+1);scanf(“%s %d %d %s“,stu[i].name,&stu[i].no,&stu[i].age,stu[i].add);}if((fp=fopen(“E:\\a.dat“,“wb“))==NULL){printf(“Open Error\n“);return;}for(i=0;i《SIZE;i++){if(fwrite(&stu[i],sizeof(struct stu),1,fp)!=1)printf(“write error\n“);}fclose(fp);}void readdat(){FILE *fp;int i,k,kk;jixu:printf(“查询全部请输入0,查询单个请输入1:“);scanf(“%d“,&k);if((fp=fopen(“E:\\a.dat“,“rb“))==NULL){printf(“Read Error\n“);return;}if(k==0){printf(“编号 姓名 学号 年龄 地址\n“);for(i=0;i《SIZE;i++){if(fread(&stu[i],sizeof(struct stu),1,fp)!=1){if(!feof(fp))printf(“write error\n“);return;}printf(“%-5d%-8s%-8d%-5d%s\n“,i+1,stu[i].name,stu[i].no,stu[i].age,stu[i].add);}}else if(k==1){printf(“请输入学生的编号:“); scanf(“%d“,&kk);printf(“编号 姓名 学号 年龄 地址\n“);if(fread(&stu[kk-1],sizeof(struct stu),1,fp)!=1){if(!feof(fp))printf(“write error\n“);return;}printf(“%-5d%-8s%-8d%-5d%s\n“,kk,stu[kk-1].name,stu[kk-1].no,stu[kk-1].age,stu[kk-1].add); }else {printf(“输入错误!“);goto jixu;}fclose(fp);}void change(){FILE *fp;char i,kk;while(1){printf(“请输入修改信息学生的编号(0退出):“); scanf(“%d“,&kk);if(kk==0)return;printf(“编号 姓名 学号 年龄 地址\n“);if((fp=fopen(“E:\\a.dat“,“rb“))==NULL){printf(“Read Error\n“);return;}for(i=0;i《SIZE;i++)if(fread(&stu[i],sizeof(struct stu),1,fp)!=1){if(!feof(fp))printf(“write error\n“);return;}printf(“%-5d%-8s%-8d%-5d%s\n“,kk,stu[kk-1].name,stu[kk-1].no,stu[kk-1].age,stu[kk-1].add); printf(“请输入学生的姓名、学号、年龄和地址:\n“);scanf(“%s %d %d %s“,stu[kk-1].name,&stu[kk-1].no,&stu[kk-1].age,stu[kk-1].add);if((fp=fopen(“E:\\a.dat“,“wb“))==NULL){printf(“Open Error\n“);return;}for(i=0;i《SIZE;i++){if(fwrite(&stu[i],sizeof(struct stu),1,fp)!=1)printf(“write error\n“);}fclose(fp);}}
C语言课程设计(成绩管理系统)
#include 《stdio.h》#include 《stdlib.h》/* 1。根据学生信息定义一个结构体类型,再说明一个该结构体类型的数组。*/struct stu_info{ char stuNo;/* No */ char stuName;/* Name */ float stuScore;/* the three scores */ float aveScore; /* average score */ float totalScore; /* total score */ }stu;/* 2。用input函数从键盘上输入10个学生的数据。 */void input(){ int i = 0; printf(“Input the students’ infomation(FORMAT LIKE:No Name score1 score2 score3):\n“); while(i 《 10) { printf(“Input %d:“,i + 1); scanf(“%s%s%f%f%f“,stu[i].stuNo,stu[i].stuName,&stu[i].stuScore,&stu[i].stuScore,&stu[i].stuScore); i++; } }/* 3。用average函数求出每个学生总成绩、平均成绩和所有学生的总平均成绩。 */float average(){ int i = 0; float totalAve_score = 0; while(i 《 10) { stu[i].totalScore = stu[i].stuScore+stu[i].stuScore+stu[i].stuScore; stu[i].aveScore = stu[i].totalScore/3; totalAve_score += stu[i].aveScore; i++; } totalAve_score /= 10; return totalAve_score; }/* 4。用maximum函数找出最高分的学生的数据。 */int maximun(){ int i = 0, k=0; float tmp=stu.totalScore; while(++i 《 10) { if(tmp 《 stu[i].totalScore) { tmp = stu[i].totalScore; k = i; } } return k; }/* 5。在主函数中输出每位学生的学号、姓名、三门课成绩、总成绩和平均成绩以及总平均分和最高分学生的数据。*/int main(int argc, char *argv){ int i = 0, highestNo; float totalAve_score; input(); totalAve_score = average(); highestNo = maximun(); printf(“NO.\t Name\tScore1\tScore2\tScore3\tTotal\taverage\n“); for(i = 0;i 《 10;i++) printf(“%s %s\t %.1f\t%.1f\t%.1f\t%.2f\t%.2f\n“,stu[i].stuNo,stu[i].stuName,stu[i].stuScore,stu[i].stuScore,stu[i].stuScore,stu[i].totalScore,stu[i].aveScore); printf(“average = %.2f\n“,totalAve_score); printf(“The highest score:%s,score total:%.2f“,stu[highestNo].stuName,stu[highestNo].totalScore); system(“PAUSE“); return 0;}
c语言课设
之前写过的,你可以拿去参考
#include《stdio.h》
#include《string.h》
#include《stdlib.h》
typedef struct guest
{
int number;
char name;
int sum;
char time;
struct guest *next;
}GuestLink,*Pointer;
GuestLink stu;
int i,j,k;
void Insert(Pointer *Head);
void Search(Pointer Head);
void Update(Pointer Head);
void Delete(Pointer *Head);
void Show(Pointer Head);
void Sort(Pointer Head);
void Save(Pointer Head);
void Put(Pointer Head);
int main()
{
Pointer Head=NULL;
int i;
do{
printf(“\n“);
printf(“1---增加订餐客户信息\n“);
printf(“2---查询订餐客户信息\n“);
printf(“3---修改订餐客户信息\n“);
printf(“4---删除订餐客户信息\n“);
printf(“5---浏览客户订餐信息\n“);
printf(“6---按照用餐时间升序排序\n“);
printf(“7---保存订餐信息到数据文件\n“);
printf(“8---查看数据文件中的订餐信息\n“);
printf(“9---退出\n“);
printf(“\n\n“);
printf(“请选择1--9:“);
scanf(“%d“,&i);
switch(i)
{
case 1:Insert(&Head);
break;
case 2:Search(Head);
break;
case 3:Update(Head);
break;
case 4:Delete(&Head);
break;
case 5:Show(Head);
break;
case 6:Sort(Head);
break;
case 7:Save(Head);
break;
case 8:Put(Head);
break;
case 9:
break;
default:printf(“选择错误!请重新选择!“);
break;
}
}while(i!=9);
return 0;
}
void Insert(Pointer *Head)
{
int in_number;
Pointer p,q,r;
printf(“请输入编号:\n“);
scanf(“%d“,&in_number);
p=q=*Head;
while(p!=NULL)
{
if(p-》number==in_number)
{
printf(“已经有相同编号:“);
return;
}
else
{
q=p;p=p-》next;
}
}
r=(Pointer)malloc(sizeof(GuestLink));//没有*号
r-》next=NULL;
if(r==NULL)
{
printf(“分配空间失败“);
return;
}
if(q==NULL)//如果是空表,判断空表用q!!!!
*Head=r;
else
{q-》next=r;}
r-》number=in_number;
printf(“请输入姓名:\n“);
scanf(“%s“,r-》name);
printf(“请输入人数:\n“);
scanf(“%d“,&r-》sum);
printf(“请输入时间:\n“);
scanf(“%s“,r-》time);
}
/*
void Insert(Pointer *Head)
{int in_number;
Pointer p,q,r;
p=q=*Head;
printf(“请输入号码:“);
scanf(“%d“,&in_number);
while(p!=NULL)
{
if(in_number==p-》number)
{printf(“已存在号码!“);}
else
{q=p;p=p-》next;}
}
r=(Pointer)malloc(sizeof GuestLink);
r-》next=NULL;
if(q==NULL)
*Head=r;
else
q-》next=r;
printf(“请输入姓名:“);
scanf(“%s“,r-》name);
printf(“请输入人数“);
scanf(“%f“,&r-》sum);
printf(“请输入时间“);
scanf(“%s“,r-》time);
}*/
void Search(Pointer Head)
{
int flag=1;
int number;
Pointer p;
printf(“请输入要查询的编号:“);
scanf(“%d“,&number);
p=Head;
while(p!=NULL&&flag)
{
if(p-》number==number)
{printf(“编号\t姓名\t人数\t时间\n“);
printf(“%s\t“,p-》name);
printf(“%d\t“,p-》sum);
printf(“%s\t\n“,p-》time);
flag=0;
}
else
p=p-》next;
}
if(flag)
printf(“没有查询到!“);
}
/*
void Search(Pointer Head)
{
int flag=0;
int number;
Pointer p;
p=Head;
printf(“请输入您要查找的编号:“);
scanf(“%f“,&number);
while(p!=NULL&&flag)
{
if(p-》number==number)
{
printf(“已查询到您要的编号“);
flag=0;
}
else
{
p=p-》next;
}
}
if(flag==1)
{printf(“姓名:%s“,p-》name);
printf(“编号:%f“,p-》number);
printf(“人数:%f“,p-》sum);
printf(“时间:%s“,p-》time);
}
else
{printf(“没有查询到您要查询的编号!“);}
}
*/
void Update(Pointer Head)
{
int flag=1;
int number;
Pointer p;
printf(“请输入要修改的编号:“);
scanf(“%d“,&number);
p=Head;
while(p!=NULL&&flag)
{
if(p-》number==number)
{
printf(“请输入人数:“);
scanf(“%d“,&p-》sum);
printf(“请输入用餐时间:“);
scanf(“%s“,p-》time);
flag=0;
}
else
p=p-》next;
}
if(flag)
printf(“没有找到要修改的记录!“);
}
//update与查询过程相似!!!
void Delete(Pointer *Head)
{
int flag=1;
int number;
Pointer p,q;
printf(“请输入要删除的数据编号:“);
scanf(“%d“,&number);
p=q=*Head;
while(p!=NULL&&flag)
{
if(p-》number==number)
{
if(p==*Head)
{
*Head=p-》next;free(p);//删除结点后要及时释放内存!!!
}
else
{q-》next=p-》next;free(p);}
flag=0;
}
else
{q=p;p=p-》next;}
}
if(flag)
printf(“没有找到可以删除的数据!!“);
}
/*
void Delete(Pointer *Head)
{
Pointer p,q;
p=q=*Head;
int number;
int flag=1;
printf(“请输入您要删除的结点:“);
scanf(“%d“,&number);
while(p!=NULL)
{
if(p-》number==number)
{if(p==*Head)
{
*Head=p-》next;free(p);
}
else
{
q-》next=p-》next;free(p);
}
flag=0;
}
else
{
q=p;p=p-》next;
}
}
if(flag)
{printf(“没有找到要删除的数据!“);}
}
*/
void Show(Pointer Head)
{
Pointer p;
p=Head;
printf(“编号\t姓名\t人数\t用餐时间\n“);
while(p!=NULL)
{
printf(“%d\t“,p-》number);
printf(“%s\t“,p-》name);
printf(“%d\t“,p-》sum);
printf(“%s\t\n“,p-》time);
p=p-》next;
}
}
void Sort(Pointer Head)
{
//三个for循环,第一个赋给结构数组 第二个排序,第三个输出
Pointer p;
p=Head;
int count=0;
GuestLink temp;
for(i=0;p!=NULL;i++)
{
strcpy(stu[i].name,p-》name);
stu[i].number=p-》number;
stu[i].sum=p-》sum;
strcpy(stu[i].time,p-》time);
count++;
p=p-》next;
}
for(i=0;i《count-1;i++)
{
k=i;
for(j=i+1;j《count;j++)
if(strcmp(stu[j].time,stu[k].time)《0)k=j;
if(k!=i)
{temp=stu[i];stu[i]=stu[k];stu[k]=temp;}//一个字都不能改!!!!
//{temp=stu[k];stu[k]=stu[i];stu[i]=temp;}
}
printf(“编号\t姓名\t人数\t用餐时间\n“);
for(i=0;i《count;i++)
{
printf(“%d\t“,stu[i].number);
printf(“%s\t“,stu[i].name);
printf(“%d\t“,stu[i].sum);
printf(“%s\t\n“,stu[i].time);
}
}
/*Head=p=stu;
while(p!=NULL)
{
printf(“姓名:%-10s“,p-》name);
printf(“人数:%-10d“,p-》sum);
printf(“用餐时间:%-10s“,p-》time);
printf(“编号:%-10d\n“,p-》number);
p=p-》next;
}*/
/*
void Sort(Pointer Head)
{
Pointer p;
p=Head;
GuestLink temp;
count=0;
while(p!=NULL)
{p=p-》next;
count++;
}
p=Head;
while(p!=NULL)
{for(i=0;i《count;i++)
{
stu[i].number=p-》number;
strcpy(stu[i].name,p-》name);
stu[i].sum=p-》sum;
strcpy(stu[i].time,p-》time);
}
p=p-》next;
}
for(i=0;i《count-1;i++)
{
k=i;
for(j=0;j《count;j++)
{if(strcmp(stu[j].time,stu[k].time)《0)k=j;
if(k!=i)
{temp=stu[k];stu[k]=stu[i];temp=stu[i];}
}
}
}
*/
void Save(Pointer Head)
{
Pointer p;
FILE *fp;
p=Head;
for(i=0;p!=NULL;i++)
{
strcpy(p-》name,stu[i].name);
p-》number=stu[i].number;
p-》sum=stu[i].sum;
strcpy(p-》time,stu[i].time);
p=p-》next;
}
if((fp=fopen(“stud“,“w“))==NULL)
{printf(“can’t open !“);}
p=Head;
while(p!=NULL)
{
if(fwrite(p,sizeof(GuestLink),1,fp)!=1)
printf(“can’t write!\n“);
p=p-》next;
}
fclose(fp);
}
/*
void Save(Pointer Head)
{
FILE *fp;
Pointer p;
p=Head;
for(i=0;p!=NULL;i++)
{
stu[i].number=p-》number;
strcpy(stu[i].name,p-》name);
stu[i].sum=p-》sum;
strcpy(stu[i].time,p-》time);
p=p-》next;
}
p=Head;
if((fp=fopen(“stud“,“w“))==NULL)
{
printf(“cam’t open the file“);
}
for(i=0;i《count;i++)
if(fwrite(p,sizeof(GuestLink),1,fp)!=1)
{
printf(“cant write“);
}
fclose(fp);
}
*/
void Put(Pointer Head)
{
FILE *fp;
Pointer p;
p=Head;
if((fp=fopen(“stud“,“r“))==NULL)
{printf(“can’t open the File\n“);}
printf(“编号\t姓名\t人数\t用餐时间\n“);
while(p!=NULL)
{
if(fread(p,sizeof(GuestLink),1,fp)!=1)
{printf(“can’t read!“);}
printf(“%d\t“,p-》number);
printf(“%s\t“,p-》name);
printf(“%d\t“,p-》sum);
printf(“%s\t\n“,p-》time);
p=p-》next;
}
fclose(fp);
}
采纳哦~
c语言课程设计答辩会问些什么问题
答辩一般都会根据你的设计论文和展板内容问。最通常的就是询问你的设计想法是什么。然后让你讲解你做的设计的设计风格和手段用的是哪种?设计特点体现在哪里。
最关键的是老师会找到一些你在设计中出现的问题来问你。有可能回答的出来,也有可能回答不出来,不管哪种,你都需要冷静一些,学会自圆其说,但是不能跟老师犟嘴,知道自己错的前提下尽量回答的圆满,把主要矛盾会比过去。
参加答辩的老师也能是一些曾经教过你的老师,不用担心什么,他们基本上不会为难你的。
扩展资料:
课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。
随着科学技术发展的日新日异,当今计算机应用在是生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握计算机开发技术十分重要的。