C语言练习-学生信息管理系统
题目要求:
学生信息管理系统
struct studentInfo
{
int id;
char name[128];
int age;
char sex;
int c_score;
int cpp_score;
int oc_scpre;
};
struct StudentInfo Arr[100]={};
int count=0;
show
1. 插入用户信息
scnaf("%s%d", Arr[count].age);
count++;
2. 显示用户信息
(1)输入id,按id显示信息
(2)输入name,按name显示信息
3. 显示所有用户信息
4. 删除用户信息
(1)输入id,按id删除信息
(2)输入name,按name删除信息
5. 统计
c-score 平均值
cpp-score-平均值
oc-score平均值
平均值成绩最高分
input: 1-6
switch()
{
}
我的代码:
#include <stdio.h>
#include <string.h>
typedef struct studentInfo{
int id;
char name[128];
int age;
char sex;
int c_score;
int cpp_score;
int oc_score;
}Student;
Student student[1000];
int pos; void print_info(int p){
printf("%d\t%s\t%d\t%c\t%d\t%d\t%d\n",
student[p].id, student[p].name, student[p].age, student[p].sex,
student[p].c_score, student[p].cpp_score, student[p].oc_score);
} void input();
void show(){
printf("\n\n\n");
printf("-----------------管理信息系统---------------------------\n");
printf("| |\n");
printf("| |\n");
printf("| 1.插入用户信息 |\n");
printf("| 2.显示用户信息 |\n");
printf("| 3.显示所有用户信息 |\n");
printf("| 4.删除用户信息 |\n");
printf("| 5.统计信息 |\n");
printf("| 6.退出系统 |\n");
printf("| |\n");
printf("--------------------------------------------------------|\n");
printf("请输入数字:(1-6)\n");
input();
} void insert(){
char name[128];
int i = 0;
++pos;
printf("Please input user id :\n");
scanf("%d", &student[pos].id);
printf("Please input user name :\n");
scanf("%s", name);
strcpy(student[pos].name, name);
printf("Please input user age :\n");
scanf("%d", &student[pos].age);
printf("Please input user sex :\n");
scanf(" %c", &student[pos].sex);
printf("Please input user C语言分数 :\n");
scanf("%d", &student[pos].c_score);
printf("Please input user C++分数 :\n");
scanf("%d", &student[pos].cpp_score);
printf("Please input user objective-c 分数 :\n");
scanf("%d", &student[pos].oc_score);
printf("插入成功!\n");
show();
} void showuser(){
printf("1>输入id, 按ID显示信息\n");
printf("2>输入name, 按name显示信息\n");
printf("请输入序号:(1-2)\n");
int i, id, num;
char name[128];
scanf("%d", &num);
if(num == 1){
printf("请输出ID:\n");
scanf("%d", &id);
for(i=1;i<=pos;++i)
if(id == student[i].id){
printf("ID\t名字\t年龄\t性别\tC\tC++\tOC\n");
print_info(i);
}
}
if(num == 2){
printf("请输入用户名字:\n");
scanf("%s", name);
for(i=1;i<=pos;++i)
if(!strcmp(name, student[i].name)){
printf("ID\t名字\t年龄\t性别\tC\tC++\tOC\n");
print_info(i);
}
}
printf("按任意键返回菜单\n");
getchar();
getchar();
show();
} void showalluser(){
int i = 0;
printf("ID\t名字\t年龄\t性别\tC\tC++\tOC\n");
for(i=1;i<=pos;++i){
if(student[i].id == 0) continue;
print_info(i);
}
show();
} void delete(){
printf("1>输入id, 按ID删除信息\n");
printf("2>输入name, 按name删除信息\n");
printf("请输入序号:(1-2)\n");
int i, id, num;
char name[128];
scanf("%d", &num);
if(num == 1){
printf("请输入ID\n");
scanf("%d", &id);
for(i=1;i<=pos;++i)
if(id == student[i].id){
student[i].id = 0;
printf("删除成功!\n");
}
}
if(num == 2){
printf("请输入用户名字:\n");
scanf("%s", name);
for(i=1;i<=pos;++i)
if(!strcmp(name, student[i].name)){
student[i].id = 0;
printf("删除成功!\n");
}
}
show();
} void sum(){
printf("1>输入C语言分数的平均值信息\n");
printf("2>输入C++语言分数的平均值信息\n");
printf("3>输入objective-C语言分数的平均值信息\n");
printf("请输入序号:(1-3)\n");
int num, i, sum, cnt;
scanf("%d", &num);
if(num == 1){
cnt = 0;
sum = 0;
for(i=1;i<=pos;++i){
if(student[i].id == 0) continue;
cnt++;
sum+=student[i].c_score;
}
printf("C语言评分分数 :%g\n", sum/(cnt*1.0));
}
if(num == 2){
cnt = 0;
sum = 0;
for(i=1;i<=pos;++i){
if(student[i].id == 0) continue;
cnt++;
sum+=student[i].cpp_score;
}
printf("C++语言评分分数 :%g\n", sum/(cnt*1.0));
}
if(num == 3){
cnt = 0;
sum = 0;
for(i=1;i<=pos;++i){
if(student[i].id == 0) continue;
cnt++;
sum+=student[i].oc_score;
}
printf("objective-C语言评分分数 :%g\n", sum/(cnt*1.0));
}
if(num == 4){
cnt = 0;
sum = 0;
for(i=1;i<=pos;++i){
if(student[i].id == 0) continue;
cnt++;
sum+=student[i].oc_score;
}
printf("objective-C语言评分分数 :%f\n", sum/(cnt*1.0));
}
show();
} void _quit(){} void input(){
int num;
scanf("%d", &num);
switch(num){
case 1: insert();
break;
case 2: showuser();
break;
case 3: showalluser();
break;
case 4: delete();
break;
case 5: sum();
break;
case 6: _quit();
break;
}
} int main(){
pos = 0;
show();
return 0;
}
运行结果 截图:
C语言练习-学生信息管理系统的更多相关文章
- C语言版本学生信息管理系统
仍然有一些小bug,后续会发布OC完善版的图书馆管理系统,欢迎批评指正. #include <stdio.h> void menu_choose(); typedef struct { i ...
- 【转载】C语言综合实验1—学生信息管理系统
http://www.cnblogs.com/Anker/archive/2013/05/06/3063436.html 实验题目:学生信息管理系统 实验要求:用户可以选择1-7可以分别进行学生信息的 ...
- C语言小练习之学生信息管理系统
C语言小练习之学生信息管理系统 main.c文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 2 ...
- 大一C语言结课设计之《学生信息管理系统》
第一次写这么长的程序,代码仅供參考,有问题请留言. /* ** 学生信息管理系统 ** IDE:Dev-Cpp 4.9.9.2 ** 2014-6-15 */ #include <stdio.h ...
- 学生信息管理系统(c语言)
①注意: 程序中使用了sleep()函数.system()函数 关于 sleep() 函数 sleep() 函数的头文件和用法会因环境的不同而有所不同. 具体见-sleep()函数功能及用法 关于sy ...
- 学生信息管理系统(C语言)
#include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct student ...
- 基于数组或链表的学生信息管理系统(小学期C语言程序实训)
1.基于数组的学生信息管理系统 实验内容: 编写并调试程序,实现学校各专业班级学生信息的管理.定义学生信息的结构体类型,包括:学号.姓名.专业.班级.3门成绩. 实验要求: (1) main函数:以菜 ...
- 【Python3.6+Django2.0+Xadmin2.0系列教程之二】学生信息管理系统(入门篇)
上一篇我们已经创建好了一个Xadmin的基础项目,现在我们将在此基础上构建一个同样很基础的学生信息管理系统. 一.创建模型 模型是表示我们的数据库表或集合类,并且其中所述类的每个属性是表或集合的字段, ...
- C语言实现---学生成绩管理系统
C语言实现了学生成绩管理系统,可以进行学生成绩的增加,删除,更新,查询,计算和展示. 完整代码如下: #include<stdio.h> #include<stdlib.h> ...
随机推荐
- Python入门教程 超详细1小时学会Python(转)
假设我们有这么一项任务:简单测试局域网中的电脑是否连通.这些电脑的ip范围从192.168.0.101到192.168.0.200. 思路:用shell编程.(Linux通常是bash而Windows ...
- In Oracle 11g, how to change the order of the results of a sql without “order by”?(转)
oracle 11g 当sql语句中不加order by的时候,好像是按rowid的顺序返回结果的.我也看过一些相关的文档,oracle的官方意思就是不加order by,就不保证输出的顺序. 那么, ...
- Cocos2d-x3.0 RenderTexture(一) 保存
.h #include "cocos2d.h" #include "cocos-ext.h" #include "ui/CocosGUI.h" ...
- 用java字节码解释i++和++i(转)
这几天抽着一些时间,把Java的class文件结构研究了一下,再后来就想起了这个令人厌烦的问题,想从字节码指令的角度看看,java到底是怎么处理这个的 先看一段java代码 package bishi ...
- javascript活动
在javascript倘若有知识的三个方面.事件的第一,流程,其次,事件处理,第三,事件对象.下面就我个人的理解,,分别讲述一下这三个方面的内容. 第一.事件流 事件流指的是事件依照一定的顺序触发.它 ...
- 软件project(十)——软件维护
软件维护是软件开发的最长的阶段之一,的精力和费用也是最多的一个阶段,基本上软件交付之后就进入了维护阶段,占整个系统生存周期的40%~70%. 导图: 软件系统并非一成不变的.有时候我们 ...
- java_Eclipse主题颜色配置+全屏
http://www.eclipsecolorthemes.org/ 这个是主题的网站. 在Eclipse里, File->Import->General->Preferences- ...
- [CLR via C#]4. 类型基础及类型、对象、栈和堆运行时的相互联系
原文:[CLR via C#]4. 类型基础及类型.对象.栈和堆运行时的相互联系 CLR要求所有类型最终都要从System.Object派生.也就是所,下面的两个定义是完全相同的, //隐式派生自Sy ...
- [CLR via C#]5.4 对象哈希码和dynamic基元类型
原文:[CLR via C#]5.4 对象哈希码和dynamic基元类型 FCL的设计者认为,如果能将任何对象的任何实例放到一个哈希表集合中,会带来很多好处.为此,System.Object提供了虚方 ...
- 分享一个解析XML成为php数组的方法
原文:分享一个解析XML成为php数组的方法 <?php /* * To change this template, choose Tools | Templates * and open th ...