c语言设计(c语言设计培训)

#include <stdio.h> #include <string.h> #include <stdlib.h> #include “conio.h” #define LEN sizeof(struct student) typedef struct student { char num[10]; char name[10]; int math,english,computer; int total; struct student *next; }student, *LinkList; void Login(); void weixiu(); void menu() ; int Open(LinkList L); void printstart() ; void Wrong() ; void Nofind() ; void printc(); void getinf(LinkList L); void orderbyzongfen(LinkList L); void deleteall(LinkList L); void Developer(); void Sort(LinkList L); void Save(LinkList L); LinkList dingwei(LinkList L,char findmess[],char nameornum[]); LinkList L; int main(void) {

Login();

return 0; }

/*—————————————————输入学生成绩并计算—————————————————–*/ void getinf(LinkList L) { LinkList r,s; r=(LinkList )malloc(LEN); printf(“请输入学号:”); scanf(“%s”,r->num); printf(“请输入姓名:”); scanf(“%s”,r->name); printf(“请输入数学成绩:”); scanf(“%d”,&r->math); printf(“请输入英语成绩:”); scanf(“%d”,&r->english); printf(“请输入电脑成绩:”); scanf(“%d”,&r->computer); r->total=r->math+r->english+r->computer;

s=L->next; L->next=r; r->next=s; printf(“追加记录成功!n”); }

/*——————————该函数用于定位连表中符合要求的接点,并返回该指针—————————*/ LinkList dingwei(LinkList L,char findmess[],char nameornum[]) { LinkList r; if(strcmp(nameornum,”num”)==0) { r=L->next; while(r!=NULL) { if(strcmp(r->num,findmess)==0) return r; r=r->next; } r=NULL; return r; } else if(strcmp(nameornum,”name”)==0) { r=L->next; while(r!=NULL) { if(strcmp(r->name,findmess)==0) return r; r=r->next; } r=NULL; return r; } else return 0; }

/*———————————————删除记录————————————————–*/ void deleteall(LinkList L) {

char ch;

printf(“确定您要清除文件里所有学生的信息,这样就无法恢复数据了( Y or N )n”); getchar(); scanf(“%c”,&ch); if(ch == ‘y’ || ch == ‘Y’) { L->next = NULL; printf(“文件里学生成绩信息已经被清除!n”); } else return; }

/*————————————————-排序记录————————————————————*/ void Sort(LinkList L) { LinkList p,r,s; p = L;

r = p ->next; s = p ->next->next; while(s != NULL) { while(s ->total < p ->next->total) p = p ->next; if(p ->next == s) { printf(“排序已完成!n”);return; } else { r ->next = s ->next; s ->next = p ->next; p ->next = s; s = r ->next; p = L; } } printf(“排序成功!n”);

} /*——————————————————— 排名—————————————————*/

void orderbyzongfen(LinkList L)

{ LinkList p;

p=L; if(p->next!=NULL) { printstart(); printc(); for (p=p->next;p!=NULL;p=p->next) printf(“%3st%3st%5dt%9dt%5dt%7dn”,p->num,p->name,p->math,p->english,p->computer,p->total); printstart();} else Nofind(); }

/*———————————————————–打开文件——————————————————–*/ int Open(LinkList L) { FILE *fp; LinkList p1,p2; char choose; int count=0;

p1=L; p1->next=NULL; fp=fopen(“E:\student_score”,”rb”); if(fp==NULL) { printf(“n=====>提示:文件还不存在,是否创建?(y/n)n”); scanf(“%c”,&choose); if(choose==’y’||choose==’Y’) { fp=fopen(“E:\student_score”,”wb”); printf(“文件已创建,请按回车键关闭,然后重新打开软件n”);getchar();getchar();exit(0); } else exit(0); }

p2=(LinkList)malloc(LEN); while(fread(p2,LEN,1,fp)) { p2->next=NULL; p1->next=p2; p1=p2; p2=(LinkList)malloc(LEN); count++; } p2->next=NULL; fclose(fp);

return 1; } /*—————————————————–保存文件—————————————————-*/ void Save(LinkList L) { FILE *fp; LinkList p1; char choose; if(L ->next == NULL) {printf(“没有可以保存的信息!n”); return;} printf(“确认保存?(y/n)n”); getchar(); scanf(“%c”,&choose); getchar(); if(choose == ‘y’ || choose == ‘Y’) { fp=fopen(“E:\student_score”,”wb”); p1=L; p1=p1->next;

while(p1) { if(fwrite(p1,LEN,1,fp)==1) { p1=p1->next; } else break; } fclose(fp); printf(“保存成功!n”); } else printf(“没有保存!n”); }

void weixiu() { printf(“nnn”); printf(“n **************************************************************”); printf(“n “); printf(“n 欢迎使用成绩管理系统.本系统尚在试用阶段,有问题请与我联系! “); printf(“n “); printf(“n 我的qq是 365549735 “); printf(“n **************************************************************”); }

/*—————————————————-界面函数——————————————-*/ void Login() { system(“color 5f”); char ch[23]; int i=0; char mima[45]; L=(LinkList)malloc(LEN); int sel,count=0; weixiu(); printf(“nnn”); printf(“n请选择您的登陆方式( 1 :管理员 2 :普通用户 )”); scanf(“%d”,&i); switch(i) { case 1:

system(“cls”); weixiu(); printf(“tttt用户名:”); scanf(“%s”,ch); printf(“tt密码:”); scanf(“%s”,mima); if(strcmp(mima,”123456″)==0 && strcmp(ch,”何涛”)==0) { getchar();printf(“n按回车返回主菜单n”);getchar(); system(“cls”); } else { printf(“您的用户名或密码有误,无法登陆!n”); exit(0);

} menu(); Open(L);

for (scanf(“%d”,&sel);sel!=0;system(“cls”),menu(),scanf(“%d”,&sel)) { switch (sel) { case 1: getinf(L); count++;Save(L);getchar();printf(“n按回车返回主菜单n”);getchar(); break; case 2:Sort(L);orderbyzongfen(L);getchar();printf(“n按回车返回主菜单n”);getchar(); break;

case 3: deleteall(L);getchar();printf(“n按回车返回主菜单n”);getchar(); count–; break;

case 4: Developer();getchar();printf(“n按回车返回主菜单n”);getchar(); break; case 5: printf(“谢谢使用 !有问题可以与我联系nttqq810097972n”); exit(0); break; default: Wrong();getchar();printf(“n按回车返回主菜单n”);getchar(); } } break;

case 2: system(“cls”); Open(L); printf(“ntttt1:按高分排序并显示ntttt2:制作人员ntttt3:退出系统n”); printf(“请选择你要的操作:”);

for (scanf(“%d”,&sel);sel!=0;system(“cls”),menu(),scanf(“%d”,&sel)) { switch (sel) {

case 1:Sort(L);orderbyzongfen(L);getchar();printf(“n按回车返回主菜单n”);getchar(); break;

case 2: Developer();getchar();printf(“n按回车返回主菜单n”);getchar(); break; case 3: printf(“谢谢使用 !有问题可以与我联系nttqq810097972n”); exit(0); break; default: Wrong();getchar();printf(“n按回车返回主菜单n”);getchar(); } } break; break; }

printf(“n |************************************************************|”);

} void menu() { printf(“ntttt欢迎进入成绩管理系统tttnntt1:输入学生成绩并计算ntt2:按高分排序并显示ntt3:删除数据ntt4:制作人员ntt5:退出系统nn选择您要进入的菜单,请输入功能号(0~5):”) ; //主界面)

} void printstart() { printf(“n——————————————————————-n”); } void Wrong() { printf(“提示:输入错误!n”); } void Nofind() { printf(“提示:没有找到该学生!n”); }

void Developer() { printf(“nnnttttt制作人员:ntttttt ——何涛nnn”); }

void printc() { printf(“学号t姓名t数学成绩 英语成绩 电脑成绩 总分n”);

本文来自投稿,不代表天一生活立场,如若转载,请注明出处:http://www.tiyigo.com/it/37096.html

(0)
上一篇 2023-07-26 15:55
下一篇 2023-07-26 16:14

相关推荐

  • 电脑无法上网出现678是什么原因

    宽带连接出现错误678的原因:连接网络时,账号密码出现错误;电脑软件的干涉,比如防火墙、杀毒软件等;电脑网线接口松动、老化、接触不良,网线电缆出现问题等;光猫供电不足损坏,电脑网卡…

    电脑教程 2023-01-13
  • 怎样发word文档(怎样发word文档到微信)

    很高兴解答你的问题,请看视频解答。 您可以通过以下几种方法发送Word文档: 通过电子邮件发送:将Word文档作为附件添加到电子邮件中,输入收件人的电子邮件地址并发送。 通过云存储…

    2023-04-23
  • 用什么软件可以识别图片中的文字

    你好,想要识别图片中的文字,现在有很多软件都支持,这里推荐您使用闪电OCR图片文字识别软件,下面是详细视频教学,希望能帮到你哦! 工具地址: ***/ocr 视频教学: ABBYY…

    2023-04-04
  • 如何选择合适的电脑电源

    适配器应该这样选择 在大多数人选择 DIY 配件的时候,关注点都在CPU、显卡这种主要部件上,而电源很多时会被忽略,电源作为整台电脑的心脏,担负着给各硬件提供动力的功能,挑选到一个…

    2023-03-04
  • 电脑蓝屏了该如何解决,电脑蓝屏白字怎么解决

    如果不经常出现开机蓝屏,关机在开机试试。如果还是不可以,开机按F8不动到高级选项出现在松手,选“最近一次的正确配置”回车修复,还不行按F8进入安全模式还原一下系统或重装系统。 如果…

    电脑教程 2023-03-28
  • 如何查看WiFi密码

    忘记WiFi密码,无法上网,想想都觉得很可怕,现在大家已经无法忍受一分一秒没有网络的日子了。下面我们就来看看忘记WiFi密码有什么方法可以找回吧。 一、通过电脑查找 1、电脑WiF…

    2023-05-12
  • 免费的oa系统靠谱吗(免费开源oa系统)

    企业OA系统在选型初期,一定要全面审视企业自身需求,每个企业管理理念不同,导致管理模式也大有不同,所以在选型OA系统的时候,千万不可跟风! 免费的OA系统在模块功能、需求扩展、后期…

    2023-07-22
  • 如何把电脑上的文件发送到手机上

    如何把电脑上的文件发送到手机上? 把电脑上的文件发送到手机上可以按照电脑网络的有无分为两类方法 1.电脑有网络的情况 这种情况下,电脑上的文件可以很轻松就发送到手机上了。首先要确保…

    2023-05-04
  • 上电脑课可以玩什么,现在没有时间玩电脑

    互联网时代计算机课是每个学校必备的课程,每个地方都会开设计算机课程。那计算机课可以玩电脑吗,有点模糊,为什么这么说呢,因为玩电脑没有明确的定义,怎样才算玩电脑呢? 其实有很多种情况…

    2022-12-28
  • 我的世界手机版有哪些版本,我的世界最新版本手机版

    一、JAVA版 《我的世界》JAVA版是MC最初的的平台版本,也是更新最快,最为正统的Minecraft。JAVA版也是MC玩家口中通常所说的PC版。JAVA版自2009年正式发布…

    电脑教程 2023-05-17