马路口的miraale
#include
vera911213
#include
菁菁super5man
代码如下:
#include
typedef struct Node //定义链表结点{ElemType data; //数据域struct Node *next; //指针域 }Node,*List,*position;
List make_empty( List L ); //创建一个带头结点的空表int is_empty( List L ); //测试链表是否是空表int is_last( position p, List L ); //测试当前位置是否是表尾position make_node( position p,int n ); //创建结点并输入考生信息void put_information( position p ); //是否输出该考生信息 void put_name_information( List L ); //输出姓名为xx的考生信息int put_pos_information( position p ); //输出该地址考生信息 void link_to_tail( List L, position p ); //将结点连接到表尾 int ciculation_make(); //循环创建考生信息 int judge_put_all(); //是否输出所有考生信息void put_all(List L); //输出所有考生信息。position find( List L ); //查找第一个姓名为xx的元素并返回位置position find_previous( List L ); //查找第一个姓名为xx的元素并返回该元素直接前驱的位置//int judge_delete_val(); //询问是否删除考生数据int delete_val( List L ); //删除指定考生信息并输出其信息void menu(List L); //菜单函数 List L;//position p;
intmain( void ) {List L = NULL; //定义头结点指针position p = NULL; //定义表工作指针L = make_empty( L ); //创建空表printf("\t\t\t★★考生报名管理程序★★\n\t\t----------------------------------------\n");menu(L);return 0;}
//创建一个带头结点的空表Listmake_empty( List L){L = ( List ) malloc (sizeof( Node ));if(NULL == L){printf("内存分配失败");exit( 1 );}L->next = NULL;//printf("空表创建成功。\n");return L;}
//创建结点并输入考生信息positionmake_node( position p ,int n){if(n) //n为1是创建结点并输入,n为0是修改{p = ( position ) malloc ( sizeof ( Node ));p->next = NULL ;}printf("请输入考生准考证号:");gets(p->data.examno);printf("请输入考生姓名:");gets(p->data.name);do{printf("请输入考生性别,只能输入“男”或者“女”:");gets(p->data.sex);}while( 0 != strcmp( p->data.sex, "男" ) && 0 != strcmp( p->data.sex, "女" )); //判断性别是否有误printf("请输入考生年龄:");scanf("%hd",&p->data.age);getchar(); //如果把这句删掉,就“无法执行”下面的报考类别/*下面的do while用来判断报考类别是否输入有误*/do{printf("请输入报考类别,只能输入“数学”或“英语”或者“数据结构”:");gets(p->data.examtype);}while( 0 != strcmp( "英语", p->data.examtype ) && 0 != strcmp( "数学", p->data.examtype ) && 0 != strcmp( "数据结构", p->data.examtype ));if(n){printf("报名成功\n");}else{printf("修改成功\n");}return p;}
//前插法; voidlink_to_tail( List L, position p){p->next = L->next;L->next = p;}
//查找第一个姓名为xx的元素并返回位置positionfind( List L ){position p = L->next;char name[10];printf("请输入你要查找的考生姓名:");gets(name);while( p != NULL && 0 != strcmp( p->data.name , name)){p=p->next;}return p;}//测试链表是否是空表intis_empty( List L ){return L->next == NULL;}//测试当前位置是否是表尾intis_last( position p, List L ){return p->next == NULL;}//输出姓名为xx的考生信息voidput_name_information( List L ){position p = find(L);if(p!=NULL){printf("您要查找的考生信息:\n");printf("准考证号:%s\t姓名:%s\t性别:%s\t年龄:%hd\t报考科目:%s\n\n",p->data.examno,p->data.name,p->data.sex,p->data.age,p->data.examtype);}else{printf("没有您要找的学生。\n");}}//循环创建考生信息 intciculation_make(){int n = 2;do{printf("是否继续创建考生信息?是请输入“1”,不是请输入“0”:");scanf("%d",&n);getchar();}while( n != 0 && n != 1);return n;}
//是否输出考生信息 voidput_information( position p ){int n=2;do{printf("是否输出该考生信息?是请输入“1”,不是请输入“0”:");scanf("%d",&n);getchar();}while( n != 0 && n != 1);if(n){printf("准考证号:%s\t姓名:%s\t性别:%s\t年龄:%hd\t报考科目:%s\n",p->data.examno,p->data.name,p->data.sex,p->data.age,p->data.examtype);}}
//是否输出所有考生信息 int judge_put_all(){int n = 2;do{printf("是否输出所有考生信息?是请输入“1”,不是请输入“0”:");scanf("%d",&n);getchar();}while( n != 0 && n != 1);return n;}
//输出所有考生信息voidput_all(List L){if(L->next == NULL){printf("现无考生报名!\n");}else{position p=L->next;while( p != NULL ){printf("准考证号:%s\t姓名:%s\t性别:%s\t年龄:%hd\t报考科目:%s\n",p->data.examno,p->data.name,p->data.sex,p->data.age,p->data.examtype);p=p->next;}}//getchar();}
//询问是否删除考生数据intjudge_delete_val(){int n = 2;
do{printf("是否要删除某个考生数据?是请输入“1”,不是输入“0”:");scanf("%d",&n);getchar();}while( n != 0 && n != 1);return n;}
//查找第一个姓名为xx的元素并返回其直接前驱的位置positionfind_previous( List L ){position q = L;position p = L->next;char name[10];printf("请输入你要查找的考生姓名:");gets(name);while( p != NULL && 0 != strcmp( p->data.name , name)){q=p;p=p->next;}if( p != NULL ){return q;}elsereturn p;}
//删除指定考生信息并输出其信息intdelete_val(List L){int n=2;position q=NULL;position p=find_previous( L ); //返回考生信息地址if( NULL == p ){printf("你要删除的考生不存在\n");return 0;}else{q = p->next;p->next = q->next;printf("删除成功。\n删除的考生信息为:\n");printf("准考证号:%s\t姓名:%s\t性别:%s\t年龄:%hd\t报考科目:%s\n",q->data.examno,q->data.name,q->data.sex,q->data.age,q->data.examtype);free(q);return 1;}
}
//输出该地址考试信息 intput_pos_information( position p ){if(p != NULL ){printf("准考证号:%s\t姓名:%s\t性别:%s\t年龄:%hd\t报考科目:%s\n\n",p->data.examno,p->data.name,p->data.sex,p->data.age,p->data.examtype);return 1;}else{printf("没有您要查找的学生。");return 0;}} //菜单函数voidmenu(List L){printf("\t\t\t a. 考生报名入口\n");printf("\t\t\t b. 查询考生信息\n");printf("\t\t\t c. 修改考生信息\n");printf("\t\t\t d. 删除考生信息\n");printf("\t\t\t e. 全部考生信息\n");printf("\t\t\t f. 程序作者信息\n");printf("\t\t\t g. 退出程序\n");char n='h';while(n != 'g'){do //确定正确输入{printf("请通过字母序号选择功能:");n = getchar();getchar();putchar('\n');if( n < 'a' || n > 'g'){printf("错误的字母序号。\n");}}while( n < 'a' || n > 'g' );switch (n){case 'a':{printf("请输入报名考生信息:\n");position p = make_node( p, 1 ); //创建新结点link_to_tail( L, p ); //将新结点连接到表上put_information( p ); //是否输出该考生信息putchar('\n');}break;
case 'b':{put_name_information( L );putchar('\n');}break;
case 'c':{int n=0;position p = NULL;printf("您正在进行修改操作。\n");p = find(L);n = put_pos_information( p );if(n){make_node( p , 0 );put_information( p ); //是否输出该考生信息}putchar('\n');}break;
case 'd':{printf("您正在进行删除操作。\n");delete_val( L );putchar('\n');}break;
case 'e':{put_all( L );putchar('\n');}break;
case 'f':{printf(" 修改日期 版本号 修改人 修改内容 \n");printf(" --------------------------------------------------------\n");printf(" 2018.6.19 v2.0 陈百川 增加主菜单\n");printf(" 2018.6.23 v3.0 陈百川 增加生成文件功能\n\n");printf(" 该版本号为v2.0\n");putchar('\n');}break;
default:break;}}printf(" 感谢本次使用,祝您生活愉快。");getch(); }
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。[1] 目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。
C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。
其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。
百度百科——C语言
卢卡与凯丽
/*引用库函数*/#include
七七计算机论文网
目 录 绪 论 2第1章 学生管理系统的系统调查 31.1现状调查 31.2、学生信息管理工作调查 31.3、现行系统存在的主要问题 31.4、系统目标
我帮你寻找了一个下午的毕业论文设计与实现,我也知道太多假的了,现在我网盘给你了 记得采纳哦1-CRM客户关系管理系统-ssh2-户籍管理系统-jsp3-Java
计算机网络信息管理引起人们的高度的重视和注意,因为它保证整个计算机网络系统的安全性,我整理了计算机信息管理论文范文,欢迎阅读! 浅谈计算机信息与管理 摘要:计算
学籍管理是高等院校学生管理事务中的一项重要工作,在管理过程中涉及大量的数据处理,它的内容对于学校的决策者和管理者来说都至关重要。下面是我为大家推荐的学生学籍管理