您当前的位置:首页 > 精选知识 > 正文

c语言课程设计(c语言课程设计(学生成绩管理))

本文目录

  • 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语言课程设计答辩会问些什么问题

答辩一般都会根据你的设计论文和展板内容问。最通常的就是询问你的设计想法是什么。然后让你讲解你做的设计的设计风格和手段用的是哪种?设计特点体现在哪里。

最关键的是老师会找到一些你在设计中出现的问题来问你。有可能回答的出来,也有可能回答不出来,不管哪种,你都需要冷静一些,学会自圆其说,但是不能跟老师犟嘴,知道自己错的前提下尽量回答的圆满,把主要矛盾会比过去。

参加答辩的老师也能是一些曾经教过你的老师,不用担心什么,他们基本上不会为难你的。

扩展资料:

课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。

随着科学技术发展的日新日异,当今计算机应用在是生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握计算机开发技术十分重要的。


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 关于宇宙的资料,小新宇宙知识(最新版教科版小学科学六年级下册第三单元《宇宙》单元解读)

下一篇: afraid是什么意思翻译(afraid是什么意思)



推荐阅读