c语言课程设计题目 C语言课程设计题目有那些

2025-02-19 04:47 - 立有生活网

您好,今天天天来为大家解答以上的问题。c语言课程设计题目相信很多小伙伴还不知道,现在让我们一起来看看吧!

1、cout#include "operater.h" void Operater::welcome(){coutcoutcoutcout}void Operater::display(){coutcoutcoutcoutcoutcoutcoutcoutcoutcoutcout}void Operater::Loop(){List L1; //List 对象char ch[20];nodetype p, head;int i; //存放序号p=L1.load(); //初始化:从外部读入数据创建链表head=p;display();while(1){coutcout 6 ): "cin>>ch;("cls");if(L1.check(ch, "1")){p=L1.insnode(0);head=p;("cls");coutcoutL1.editperson(p);coutL1.editscore(p);coutL1.editephone(p);}if(L1.check(ch, "2")){("cls");coutL1.dispname();coutcin>>ch;i=L1.find2(ch);L1.delnode(i);}if(L1.check(ch, "3")){("cls");coutL1.dispname();}if(L1.check(ch, "4")){("cls");coutL1.dispname();coutcin>>ch;p=L1.find(ch);L1.dispnode(p);}if(L1.check(ch, "6")){display();}if(L1.check(ch, "7")) //保存数据{FILE fp;if((fp=fopen("student.txt", "w"))==NULL){coutreturn;}int i;char t[255];//将 L1.listlen() 赋予字符串中的数字sprintf(t, "The Length Of Link: %dn", L1.listlen());fputs(t, fp);strcpy(t, "n");fputs(t, fp);p=L1.findnode(1); //将链表头指针赋予 pfor(i=0; i{fputs(p->address, fp); //输出地址fputs(p->birthday, fp); //输出生日fputs(p->pe.num, fp); //输出学号fputs(p->sc.english, fp); //输出英语成绩fputs(p->sc.vc, fp); //输出C++成绩fputs(p->sc.math, fp); //输出数学成绩fputs(p->sc.vb, fp); //输出vb成绩fputs(p->pe.name, fp); //输出姓名fputs(p->pe., fp); //输出性别fputs(p->pe.GJ, fp); //输出国籍fputs(p->pe.MZ, fp); //输出民族fputs(p->pe.XL, fp); //输出学历fputs(p->te.SJ, fp); //输出手机fputs(p->te.JD, fp); //输出家庭电话fputs(p->te.XD, fp); //输出学校电话fputs(t, fp);p=p->next;}p=head;fclose(fp);}if(L1.check(ch, "5")){char c[20];("cls");coutL1.dispname();coutcin>>c;p=L1.find(c);("cls");coutcoutcoutcoutcoutcoutcoutcoutcoutcoutcoutcoutwhile(1){coutcout 6 ): "cin>>c;("cls");if(L1.check(c, "1")){("cls");coutL1.editperson(p);}else if(L1.check(c, "2")){("cls");L1.editscore(p);}else if(L1.check(c, "3")){("cls");coutL1.editephone(p);}else if(L1.check(c, "4")){("cls");coutL1.dispperson(p);}else if(L1.check(c, "5")){("cls");coutL1.dispscore(p);}else if(L1.check(c, "6")){("cls");coutL1.dispephone(p);}else if(L1.check(c, "7")){("cls");coutL1.dispnode(p);}else if(L1.check(c, "8")){cout("cls");L1.();}else if(L1.check(c, "9")){coutdisplay();break; //用 break 跳出本循环,不要用 ret{while( p!=NULL && j}}}else if(L1.check(ch, "0"))return;}return;}"operater.h"#include // cin 及 cout#include // strcpy(): 字符串#include // ("cls")#include // 文件作#include "list.h" // 我们要创建类 List 的对象和指针,所以要把类的头文件包含进来class Operater{List L1;public:void welcome();//欢迎登录界面void display();//显示菜单void Loop(); //主循环};"List.cpp"#include "list.h"List::List(){head = NULL;}bool List::check(char a, char b) //对比两个字符串是否相等{int i;int j=strlen(b);for(i=0; i{if(a==b){a++;b++;}elsereturn 0;}return 1;}nodetype List::creatlist (int n) //创建链表{nodetype h=NULL, s, t;int i=1;for(int j=0; j{if(i==1) //创建个{h=(nodetype)malloc(sizeof(nodetype));h->next=NULL;t=h;}else //创建其余{s=(nodetype)malloc(sizeof(nodetype));s->next=NULL;t->next=s;t=s; //t 始终指向生成的单链表的一个}i++;}head=h;return h;}void List::readstr(FILE f,char string){do{// 先读入一行文本fgets(string, 255, f); //fgets(): 从文件 f 读入长度为 255-1 的字符串// 并存入到 string 中} while ((string[0] == '/') || (string[0] == 'n'));return;}nodetype List::load(){FILE fp;nodetype p;char c[255];int num;if((fp=fopen("student.txt", "r"))==NULL){coutreturn 0;}readstr(fp, c);sscanf(c, "The Length Of Link: %d", &num); //获取链表长度p=creatlist(num); //创建链表for(int i=0; i{readstr(fp, c);strcpy(p->address, c);readstr(fp, c);strcpy(p->birthday, c);readstr(fp, c);strcpy(p->pe.num, c);readstr(fp, c);readstr(fp, c);strcpy(p->sc.vc, c);readstr(fp, c);strcpy(p->sc.english, c);readstr(fp, c);strcpy(p->sc.math, c);readstr(fp, c);strcpy(p->sc.vb, c);strcpy(p->pe.name, c);readstr(fp, c);strcpy(p->pe., c);readstr(fp, c);strcpy(p->pe.GJ, c);readstr(fp, c);strcpy(p->pe.MZ, c);readstr(fp, c);strcpy(p->pe.XL, c);readstr(fp, c);strcpy(p->te.SJ, c);readstr(fp, c);strcpy(p->te.JD, c);readstr(fp, c);strcpy(p->te.XD, c);p=p->next;}fclose(fp);return p;}void List::dispnode(nodetype p) //显示一个学生的所有信息{if(p!=NULL){dispperson(p);dispscore(p);dispephone(p);}}void List::dispname() //显示所有学生姓名{nodetype p=head;coutif(p==NULL)coutwhile(p!=NULL){coutpe.name;p=p->next;}}int List::listlen() //返回链表长度{int i=0;nodetype p=head;while(p!=NULL){p=p->next;i++;}return i;}nodetype List::findnode (int i) //通过查找序号返回的指针{nodetype p=head;int j=1;if( i>listlen()||ireturn NULL;else{j++;p=p->next;}return p;}}nodetype List::find(char c[]) //通过查找姓名返回的指针{nodetype p=head;int j=1;strcat(c, "n"); //从外部读入的字符串末尾都带了一个换行符while( p!=NULL && !(check(c, p->pe.name))) //查找第 i 个并由 p 指向该{j++;p=p->next;}return p;}int List::find2(char c[]) //通过查找姓名返回的序号{nodetype p=head;int j=1;strcat(c, "n"); //从外部读入的字符串末尾都带了一个换行符while( p!=NULL && !(check(c, p->pe.name))) //查找第 i 个并由 p 指向该{j++;p=p->next;}return j;}nodetype List::insnode(int i){nodetype h=head, p, s;s=(nodetype)malloc(sizeof(nodetype)); //创建 ss->next=NULL;if(i==0) //i=0 时 s 作为该单链表的个{s->next = h;h=s; //重新定义头}else{p=findnode(i); //查找第 i 个,并由 p 指向该if(p!=NULL){s->next=p->next;p->next=s;}else cout}head=h;return s;}void List::delnode(int i) //删除第 i 个{nodetype h=head, p=head, s;int j=1;if(i==1) //删除个{h=h->next;free(p);}else{p=findnode(i-1); //查找第 i-1 个,并由 p 指向这个if(p!=NULL && p->next!=NULL){s=p->next; // s 指向要删除的p->next=s->next;free(s);}elsecout}head=h;}void List::editperson(nodetype p){char c[100];coutcin>>c;strcat(c, "n");strcpy(p->pe.num, c);coutcin>>c;strcat(c, "n");strcpy(p->pe.name, c);coutcin>>c;strcat(c, "n");strcpy(p->pe., c);coutcin>>c;strcat(c, "n");strcpy(p->birthday, c);coutcin>>c;strcat(c, "n");strcpy(p->pe.MZ, c);coutcin>>c;strcat(c, "n");strcpy(p->pe.GJ, c);coutcin>>c;strcat(c, "n");strcpy(p->pe.XL, c);coutcin>>c;strcat(c, "n");strcpy(p->address, c);coutdispperson(p);}void List::editscore(nodetype p){char a[50];coutcin>>a;strcat(a, "n");strcpy(p->sc.vc, a);coutcin>>a;strcat(a, "n");strcpy(p->sc.english, a);coutcin>>a;strcat(a, "n");strcpy(p->sc.math, a);coutcin>>a;strcat(a, "n");strcpy(p->sc.vb, a);coutdispscore(p);}void List::editephone(nodetype p){char c[50];coutcin>>c;strcat(c, "n");strcpy(p->te.SJ, c);coutcin>>c;strcat(c, "n");strcpy(p->te.JD, c);coutcin>>c;strcat(c, "n");strcpy(p->te.XD, c);coutdispephone(p);}void List::dispperson(nodetype p){coutpe.name;coutpe.;coutpe.MZ;coutpe.GJ;coutpe.XL;coutbirthday;coutaddress;}void List::dispscore(nodetype p){coutsc.vc;coutsc.english;coutsc.math;coutsc.vb;}void List::dispephone(nodetype p){coutte.SJ;coutte.JD;coutte.XD;}void List::(){coutcoutcoutcoutcoutcoutcoutcoutcoutcoutcoutcout}List::~List(){nodetype pa=head, pb;if(pa!=NULL){pb=pa->next;if(pb==NULL)free(pa);else{while(pb!=NULL){free(pa);pa=pb;pb=pb->next;}free(pa);}}}"List.h"// List.h: 类的所有成员都在头文件里声明#include #include // 用到申请内存函数 malloc() 和释放内存函数 free()#include // 字符串处理#include // 文件作#include // ("cls")class address //家庭地址{public:char city[10]; //城市char town[10]; //县城char village[10]; //乡镇};class ephone //{public:char SJ[50]; //手机char JD[30]; //家庭电话char XD[30]; //学校电话};class person //个人信息{public:char name[20]; //名字char num[20]; //学号char [10] ; //性别char MZ[1coutchar GJ[17]; //国籍char XL[19]; //学历};struct score //成绩{char english[20];char vc[20];char math[20];char vb[20];};//定义的类型typedef class linknode{public:char address[100]; //地址char birthday[100]; //出生日期class person pe;//个人信息struct score sc;class ephone te; //bool flag;class linknode next;}nodetype;class List{nodetype head;public:List();List::~List();linknode creatlist(int); //创建链表int listlen(); //返回链表长度nodetype findnode(int); //通过查找序号返回的指针nodetype find(char c[]); //通过查找姓名返回的指针int find2(char c[]); //通过查找姓名返回的序号nodetype insnode(int); //插入void delnode(int); //删除nodetype load(); //初始化:从外部读入数据void readstr(FILE f,char string); //读行函数bool check(char a, char b); //对比两个字符串是否相等void (); //显示帮助菜单void editperson(nodetype); //编辑个人说明void editscore(nodetype); //编辑学科成绩void editephone(nodetype); //编辑void dispname(); //显示所有学生姓名void dispnode(nodetype p); //显示一个学生的所有信息void dispperson(nodetype); //显示一个学生的个人说明void dispscore(nodetype); //显示一个学生的学科成绩void dispephone(nodetype); //显示一个学生的看的晕乎乎的这个题直接用单向链表很简单的吧 都是链表作有看懂你代码的功夫,还真不如重写了。

2、留下你邮箱,或hi我。

本文到这结束,希望上面文章对大家有所帮助。

家常红烧冬瓜的做法做法 家常红烧冬瓜的做法

乐乐今天给分享家常红烧冬瓜的做法做法的知识,其中也会对家常红烧冬瓜的做法做法大全进行解释,希望能解决你的问题,请看下面的文章阅读吧! 家常红烧冬瓜的做法做法 家常红烧冬瓜的做法···

飞机上能带蓝牙耳机吗 飞机上能带蓝牙耳机吧

飞机起飞可以用蓝牙耳机吗? 蓝牙 飞机上能带蓝牙耳机吗 飞机上能带蓝牙耳机吧 飞机上能带蓝牙耳机吗 飞机上能带蓝牙耳机吧 1、蓝牙(Bluetooth ):是一种技术标准,可起飞与着陆时不可以用蓝牙,···

茄汁虾做法家常做法_如何做茄汁虾

你知道香辣过瘾吃不够,补充营养增强体质,孩子的菜怎么做吗 ? 【配料】香菇、香菜各少许。 茄炖牛腩:将番茄切成小块,将牛腰肉切成小块;将油倒入锅中,加入调料,翻炒半个西红柿,翻···