学生管理系统
2017-11-24 15:26
281 查看
心得:
1.第一次写终端上显示操作选项的代码:
system(“clear”):清屏操作
sleep(2) : 延时2秒
return语句:原来不大懂干嘛的,只知道返回函数的返回值;原来是函数遇到return语句就会退出此函数
2.修改程序前,本程序通过“end”结束while循环,但是“end”却保留到了下一个指针里,以至于在输出学生信息是总是会在最后一行出现end 0 0 0现象,或者在冒泡排序的时候,end这一行信息会参与排序,后来通过冒泡排序的循环次数分别再减1,完美消除这一烦恼。
3.存在的问题 :只能一次输入学生信息,后来再想输入学生信息就会覆盖之前的学生信息。
以下是网上查找的信息:exit() 和 return
2 函数: exit() 编辑
函数名: exit()
所在头文件:stdlib.h
功 能: 关闭所有文件,终止正在执行的进程。
exit(1)表示异常退出.这个1是返回给操作系统的。
exit(x)(x不为0)都表示异常退出
exit(0)表示正常退出
exit()的参数会被传递给一些操作系统,包括UNIX,Linux,和MS DOS,以供其他程序使用。
stdlib.h: void exit(int status);
参 数 : status //程序退出的返回值.
exit()和return的区别:
按照ANSI C,在最初调用的main()中使用return和exit()的效果相同。
但要注意这里所说的是“最初调用”。如果main()在一个递归程序中,exit()仍然会终止程序;但return将
控制权移交给递归的前一级,直到最初的那一级,此时return才会终止程序。return和exit()的另一个区别
在于,即使在除main()之外的函数中调用exit(),它也将终止程序。
_exit()与exit的区别:
头文件:
exit:#include
1.第一次写终端上显示操作选项的代码:
system(“clear”):清屏操作
sleep(2) : 延时2秒
return语句:原来不大懂干嘛的,只知道返回函数的返回值;原来是函数遇到return语句就会退出此函数
2.修改程序前,本程序通过“end”结束while循环,但是“end”却保留到了下一个指针里,以至于在输出学生信息是总是会在最后一行出现end 0 0 0现象,或者在冒泡排序的时候,end这一行信息会参与排序,后来通过冒泡排序的循环次数分别再减1,完美消除这一烦恼。
3.存在的问题 :只能一次输入学生信息,后来再想输入学生信息就会覆盖之前的学生信息。
以下是网上查找的信息:exit() 和 return
2 函数: exit() 编辑
函数名: exit()
所在头文件:stdlib.h
功 能: 关闭所有文件,终止正在执行的进程。
exit(1)表示异常退出.这个1是返回给操作系统的。
exit(x)(x不为0)都表示异常退出
exit(0)表示正常退出
exit()的参数会被传递给一些操作系统,包括UNIX,Linux,和MS DOS,以供其他程序使用。
stdlib.h: void exit(int status);
参 数 : status //程序退出的返回值.
exit()和return的区别:
按照ANSI C,在最初调用的main()中使用return和exit()的效果相同。
但要注意这里所说的是“最初调用”。如果main()在一个递归程序中,exit()仍然会终止程序;但return将
控制权移交给递归的前一级,直到最初的那一级,此时return才会终止程序。return和exit()的另一个区别
在于,即使在除main()之外的函数中调用exit(),它也将终止程序。
_exit()与exit的区别:
头文件:
exit:#include
#include <stdio.h> #include <stdlib.h> #include<string.h> struct student { char name[20]; int id; int math; int china; }; typedef struct student STU; void show() { system("clear"); printf("************************************\n\n"); printf("*****WELCOME TO TEACHER SYSTEM******\n\n"); printf("************************************\n\n"); sleep(2); system("clear"); }
void PrintInfo() { printf("*************************************\n\n"); printf("**1.InsertInfo 2.SearchInfo**\n"); printf("**3.SortInfo 4.ChangeInfo**\n"); printf("**5.ShowInfo 6.Quit **\n"); printf("*************************************\n\n"); printf("Please input your choice :\n"); } void InsertInfo(STU *s[]) { int i = 0; printf("Please Input Information :\n"); while(1) { s[i] = (STU *)malloc(sizeof(STU)); if (NULL == s[i]) { printf("Malloc Failure !\n"); return; } scanf("%s", s[i]->name); if (strcmp(s[i]->name, "end") == 0) { break; } scanf("%d%d%d", &s[i]->id, &s[i]->math, &s[i]->china); i++; } }
void SearchInfo(STU *s[]) { int i = 0; char target[10] = {0}; STU *t printf("Please input name you will find :\n"); scanf("%s", target); while(s[i] != NULL) { if(strcmp(s[i]->name, target) == 0) { printf("**************\n"); printf("name : %s\n", s[i]->name); t = s ; s = s[n + 1]; s[n + 1] = t; printf("id : %d\n", s[i]->id); printf("math : %d\n", s[i]->math); printf("china: %d\n", s[i]->china); printf("**************\n"); return; } i++; } printf("**************\n"); printf("Not Find !\n"); printf("**************\n"); }
void SortInf 4000 o(STU *s[]) { int i = 0; int j = 0; int len; STU *t; int p; printf("Please select :math or china ?\n"); scanf("%d",&p); switch (p) { case 1 : while(s[i++] != NULL); i--; len = --i; for (j = 0; j < len - 2; j++) { for (i = 0; i < len - j - 2; i++) if (s[i]->math > s[i + 1]->math) { t = s[i]; s[i] = s[i + 1]; s[i + 1] = t; } } printf("XingMing\t\txuehao\t\tshuxue\t\tyuwen\n"); for (i = 0; i < len; i++) printf("%s\t\t%d\t\t%d\t\t%d\n",s[i]->name, s[i]->id, s[i]->math, s[i]->china); break;
case 2 : while(s[i++] != NULL); i--; len = --i; for (j = 0; j < len - 2; j++) { for (i = 0; i < len - j - 2; i++) if (s[i]->math > s[i + 1]->math) { t = s[i]; s[i] = s[i + 1]; s[i + 1] = t; } } printf("XingMing\t\txuehao\t\tshuxue\t\tyuwen\n"); for (i = 0; i < len; i++) printf("%s\t\t%d\t\t%d\t\t%d\n",s[i]->name, s[i]->id, s[i]->math, s[i]->china); break; default : printf("Unkown !\n"); } }
void ChangeInfo(STU *s[]) { char target[10] = {0}; int i= 0; printf("Please Input The Name You Want Change :\n"); scanf("%s", target); printf("Input New Infor :\n"); while(s[i] != NULL) { if(strcmp(s[i]->name, target) == 0) { scanf("%s", s[i]->name); scanf("%d", &s[i]->id); scanf("%d", &s[i]->math); scanf("%d", &s[i]->china); printf("Change Success!\n"); return; } i++; } }
void ShowInfo(STU *s[]) { int len; int i = 0; while(s[i++] != NULL); i--; len = i--; printf("XingMing xuehao shuxue yuwen"); for (i = 0; i < len; i++) { printf("%s\t%d\t%d\t%d\n",s[i]->name, s[i]->id, s[i]->math, s[i]->china); } }
int main() { STU *stu[100] = {0}; char choice[10] = {0}; show(); while (1) { PrintInfo(); scanf("%s", choice); switch (atoi(&choice[0])) { case 1: InsertInfo(stu); break; case 2: SearchInfo(stu); break; case 3: SortInfo(stu); break; case 4: ChangeInfo(stu); break; case 5: ShowInfo(stu); break; case 6: exit(0); break; default: printf("Unkown Input!\n"); break; } } return 0; }
相关文章推荐
- 【学生信息管理系统】无法启动T-SQL调试,未能连接到计算机……
- 学生管理系统总结
- 学生信息管理系统总结
- c语言学生信息管理系统(链表、文件)
- 学生信息管理系统调试
- 学生管理系统
- _mian的问题(学生成绩管理系统)
- 学生管理系统----待续二
- 用C++写学生成绩管理系统
- 用 c编写的一个学生成绩管理系统
- VB之旅-学生信息管理系统纰漏总结
- 学生信息管理系统问题集锦(三)
- 用C语言实现的学生管理系统
- STL-Lesson003_学生管理系统
- 【学生管理系统】总结篇
- Python实现学生成绩管理系统
- 学生信息管理系统(4)——调试总结
- 学生管理系统
- C++实现简单的学生管理系统
- 如何在LIstView中实现复杂的数据(学生管理系统)