学生成绩管理系统:
#include ""标准输入输出函数库*/
#include ""标准函数库*/
#include ""字符串函数库*/
#include ""屏幕操作函数库*/
#define header1studentn"
#define header2numbername |comp|math|eng | sum | **e |mici | n"
#define header3
#define format10s |%15s|%4d|%4d|%4d| %4d | 2f |%4d |"
#define data p->>
#define endn"
int s**eflag=0; /是否需要存盘的标志变量*/
*定义与学生有关的数据结构*/
typedef struct student /*标记为student*/
char num[10]; 学号*/
char name[15]; 姓名*/
int cgrade; /c语言成绩*/
int mgrade; /数学成绩*/
int egrade; /英语成绩*/
int total; /总分*/
float **e; /平均分*/
int mingci; /名次*/
*定义每条记录或结点的数据结构,标记为:node*/
typedef struct node
struct student data; /数据域*/
struct node *next; /指针域*/
node,*link; /node为node类型的结构变量,*link为node类型的指针变量*/
void menu() 主菜单*/
system("cls");调用dos命令,清屏。与clrscr()功能相同*/
textcolor(10); 在文本模式中选择新的字符颜色*/
gotoxy(10,5); 在文本窗口中设置光标*/
cprintfthe students' grade management system ");
gotoxy(10,8);
cprintfmenun");
gotoxy(10,9);
cprintf1 input record2 delete recordn");
gotoxy(10,10);
cprintf3 search record4 modify recordn");
gotoxy(10,11);
cprintf5 insert record6 count recordn");
gotoxy(10,12);
cprintf7 sort reord8 s**e recordn");
gotoxy(10,13);
cprintf9 display record0 quit systemn");
gotoxy(10,14);
cprintfn");
*cprintf()送格式化输出至文本窗口屏幕中*/
void printheader() 格式化输出表头*/
printf(header1);
printf(header2);
printf(header3);
void printdata(node *pp) /格式化输出表中数据*/
node* p;
p=pp;printf(format,data);
void wrong() 输出按键错误信息*/
printf("error:input has wrong! press any key to continuen");
getchar();
void nofind() 输出未查找此学生的信息*/
printf("===not find this student!");
void disp(link l) /显示单链表l中存储的学生记录,内容为student结构中定义的内容*/
node *p;
p=l->next; /l存储的是单链表中头结点的指针,该头结点没有存储学生信息,指针域指向的后继结点才有学生信息*/
if(!p) /p==null,null在stdlib中定义为0*/
printf("===not student record!");
getchar();
return;
printf("");
printheader();输出**头部*/
while(p) /逐条输出链表中存储的学生信息*/
printdata(p);
p=p->next; /移动直下一个结点*/
printf(header3);
getchar();
作用:用于定位链表中符合要求的节点,并返回指向该节点的指针。
参数:findmess保存要查找的具体内容; nameornum保存按什么查找;
在单链表l中查找;
node* locate(link l,char findmess,char nameornum)
node *r;
if(strcmp(nameornum,"num")=0) /按学号查询*/
r=l->next;
while(r)
else if(strcmp(nameornum,"name")=0) /按姓名查询*/
r=l->next;
while(r)
return 0; /若未找到,返回一个空指针*/
*输入字符串,并进行长度验证(长度void stringinput(char *t,int lens,char *notice)
char n[255];
dowhile(strlen(n)>lens);
strcpy(t,n); 将输入的字符串拷贝到字符串t中*/
*输入分数,0<=分数<=100)*/
int numberinput(char *notice)
int t=0;
dowhile(t>100 ||t<0);
return t;
/*增加学生记录*/
void add(link l)
node *p,*r,*s; /实现添加操作的临时的结构体指针变量*/
char ch,flag=0,num[10];
r=l;s=l->next;
system("cls");
C语言课程课程设计
课程设计报告。课程名称 c语言程序设计 系别 xxx 专业班级 xxx班 学号 xxxxxxxxxx 姓名 xxx 课程题目 10或100以内儿童加减乘除算术游戏。完成日期 2013.6.14 19 指导老师 xxx 2013年 6月 21日。附件 一 程序模块图。二 源程序。include inc...
C语言课程设计
目录。1 c语言程序课程设计教学大纲。2 c语言程序课程设计说明书。3 c语言程序课程设计报告 模板 4 c语言程序课程设计成绩评定表。xx xx学院。课程教学大纲。课程名称 c语言程序课程设计。适用专业 课程类别 专业基础课。制订时间 2010年11月 计算机科学与技术系制。c语言程序课程设计教学...
C语言课程设计
目录。1 c语言程序课程设计教学大纲。2 c语言程序课程设计说明书。3 c语言程序课程设计报告 模板 4 c语言程序课程设计成绩评定表。珠海学院。课程教学大纲。课程名称 c语言程序课程设计。适用专业 2010级计算机科学与技术系各专业。课程类别 专业基础课。制订时间 2010年11月 计算机科学与技...