c语言成绩管理系统常见错误,求教 学生成绩管理系统出错
已结贴√
问题点数:20 回复次数:5
求教 学生成绩管理系统出错
小弟刚做了个学生成绩管理系统 编译无错误 但是运行的时候连选择函数都不能 特来求教 望高手解释 代码如下:
#include
#include
#define N 20
#define M 100
struct score
{
int scr1;
int scr2;
int scr3;
int scr4;
float avg;
int total;
};
struct student
{
char num[10];
char name[10];
char sex[2];
int age;
struct score scr;
};
int x=0;
int input(struct student *s);
int insert(struct student *s);
int sort(struct student *s);
int find(struct student *s);
int delet(struct student *s);
int output(struct student *s);
void main()
{
int i=1;
struct student stu[M];
printf("* * * * * * * * * * * * * * *学生成绩管理系统* * * * * * * * * * * * * * * *\n");
printf("请按数字键选择需要的操作:\n");
printf(" 1.输入学生信息\n");
printf(" 2.插入学生信息\n");
printf(" 3.对学生信息进行排序\n");
printf(" 4.查找学生信息\n");
printf(" 5.删除学生信息\n");
printf(" 6.输出所有学生信息\n");
for(i;;)
{
i=getchar();
switch(i)
{
case 1:
system("cls");
i=input(stu);
break;
case 2:
system("cls");
i=insert(stu);
break;
case 3:
system("cls");
i=sort(stu);
break;
case 4:
system("cls");
i=find(stu);
break;
case 5:
system("cls");
i=delet(stu);
break;
case 6:
system("cls");
i=output(stu);
break;
}
}
}
int input(struct student *s)
{
int i;
for(i=0;i
{
printf("请输入%d个学生的信息:\n学号 姓名 性别 年龄 四科成绩\n",N+1);
scanf("%s%s%s%d%d%d%d%d",s->num,s->name,s->sex,s->age,s->scr.scr1,s->scr.scr2,s->scr.scr3,s->scr.scr4);
s->scr.total=s->scr.scr1+s->scr.scr2+s->scr.scr3+s->scr.scr4;
s->scr.avg=s->scr.total/4.0;
}
printf("输入1返回主菜单,输入0退出");
return(i=getchar());
}
int insert(struct student *s)
{
int i=1,j;
struct student s1;
printf("输入要插入的学生信息:\n学号 姓名 性别 年龄 四科成绩\n");
for(i;;)
{
scanf("%s%s%s%d%d%d%d%d",s1.num,s1.name,s1.sex,s1.age,s1.scr.scr1,s1.scr.scr2,s1.scr.scr3,s1.scr.scr4);
for(i=0;i
{
if(s1.num
{
for(j=N-1;j>=i;j--)
{
s[j+1]=s[j];
}
s[i]=s1;
}
}
printf("继续插入输入1,放弃插入输入0");
i=getchar();
x++;
}
printf("输入1返回主菜单,输入0退出");
return(i=getchar());
}
int sort(struct student *s)
{
int i,j;
struct student s2;
printf("请选择排序的要求:\n1.按学号\n2.按总成绩\n");
i=getchar();
switch(i)
{
case 1:
for(i=0;i
{
for(j=0;j
{
if(s[j].num>s[j+1].num)
{
s2=s[j];
s[j]=s[j+1];
s[j+1]=s2;
}
}
}
break;
case 2:
for(i=0;i
{
for(j=0;j
{
if(s[j].scr.total>s[j+1].scr.total)
{
s2=s[j];
s[j]=s[j+1];
s[j+1]=s2;
}
}
}
break;
}
printf("%-8学号%-8姓名%-8性别%-8年龄%-8数学%-8中文%-8英文%-8体育%-8平均成绩%-8总成绩");
for(i=0;i
{
printf("%-8s%-8s%-8s%-8d%-8d%-8d%-8d%-8d%-8.2f%-8d",s[i].num,s[i].name,s[i].sex,s[i].age,s[i].scr.scr1,s[i].scr.scr2,s[i].scr.scr3,s[i].scr.scr4,s[i].scr.avg,s[i].scr.total);
}
printf("输入1返回主菜单,输入0退出");
return(i=getchar());
}
int find(struct student *s)
{
int i=1;
char f[10];
for(i;;)
{
printf("输入要查找的学生学号或姓名\n");
scanf("%s",f);
for(i=0;i
{
if(f==s[i].num||f==s[i].name)
{
printf("%-8学号%-8姓名%-8性别%-8年龄%-8数学%-8中文%-8英文%-8体育%-8平均成绩%-8总成绩");
printf("%-8s%-8s%-8s%-8d%-8d%-8d%-8d%-8d%-8.2f%-8d",s[i].num,s[i].name,s[i].sex,s[i].age,s[i].scr.scr1,s[i].scr.scr2,s[i].scr.scr3,s[i].scr.scr4,s[i].scr.avg,s[i].scr.total);
}
}
printf("继续查询输入1,放弃查询输入0");
i=getchar();
}
printf("输入1返回主菜单,输入0退出");
return(i=getchar());
}
int delet(struct student *s)
{
int i=1,j;
char f[10];
for(i;;)
{
printf("输入要删除的学生学号或姓名\n");
scanf("%s",f);
for(i=0;i
{
if(f==s[i].num||f==s[i].name)
{
for(j=i+1;j
{
s[j-1]=s[j];
}
}
}
printf("继续删除输入1,放弃删除输入0");
i=getchar();
x--;
}
printf("输入1返回主菜单,输入0退出");
return(i=getchar());
}
int output(struct student *s)
{
int i;
printf("所有学生信息:");
printf("%-8学号%-8姓名%-8性别%-8年龄%-8数学%-8中文%-8英文%-8体育%-8平均成绩%-8总成绩");
for(i=0;i
{
printf("%-8s%-8s%-8s%-8d%-8d%-8d%-8d%-8d%-8.2f%-8d",s[i].num,s[i].name,s[i].sex,s[i].age,s[i].scr.scr1,s[i].scr.scr2,s[i].scr.scr3,s[i].scr.scr4,s[i].scr.avg,s[i].scr.total);
}
printf("输入1返回主菜单,输入0退出");
return(i=getchar());
}
c语言成绩管理系统常见错误,求教 学生成绩管理系统出错相关推荐
- 《C语言程序设计》实训报告——学生成绩管理系统
<C语言程序设计>实训报告--学生成绩管理系统 一.课程设计题目 <学生成绩管理系统> 二.课程设计要求 综合利用顺序.选择.循环等各种程序结构,使用自定义函数和二维数组,完成 ...
- 学生成绩管理系统实验报告_学生成绩管理系统设计
1.题目与要求 1.1问题提出 设计学生成绩管理系统,有N个学生,每个学生的数据包含学号(不重复).姓名.三门课的成绩及平均成绩,试设计一学生成绩管理系统 1.2本系统涉及的知识点 结构体数组.结构体 ...
- C语言汇总学生成绩,c语言用二维数组统计学生成绩.doc
c语言用二维数组统计学生成绩 # include /*定义一个求每门课平均成绩的函数AverageCourse 它的形参一个是二维数组,用来传递学生成绩: 一个是指针变量(数组名),存放每门课的平均成 ...
- C语言学习笔记——使用字符数组和实型数组分别存储学生姓名和成绩,并通过对学生成绩的排序,按名次输出
题目来自C语言从入门到精通第三版:使用字符数组和实型数组分别存储学生姓名和成绩,并通过对学生成绩的排序,按照名次输出字符数组中对应的学生姓名 在网上大致找了一下没有看到C语言实现的版本,于是自己写了一 ...
- python数据分析学生成绩查询系统_python数据分析-学生成绩分析
python数据分析-学生成绩分析 python数据分析-学生成绩分析 目标:分析学生成绩的影响因素 1.导入原始数据,以及需要用到的库 import pandas as pd import nump ...
- c语言利用指针函数等完成学生成绩管理系统,课程设计C语言可视化程序学生成绩管理系统...
<课程设计C语言可视化程序学生成绩管理系统>由会员分享,可在线阅读,更多相关<课程设计C语言可视化程序学生成绩管理系统(37页珍藏版)>请在人人文库网上搜索. 1.C语言可视化 ...
- 【C语言】编写一个简单的学生成绩管理系统
版本:C99 IDE:CLion 编译器:MinGW #include <stdio.h> #include <stdlib.h> #include <string.h& ...
- 快递信息管理系统源代码c++_学生信息管理系统C语言版
C语言学生信息管理系统包括以下功能: 1.学生信息的整体注册 2.学生信息的修改 3.学生成绩信息的录入 4.学生信息的添加 5.恢复误删的学生信息 6.学生信息的删除 7.密码修改保存函数 8.学生 ...
- 【C语言】之实现简易的学生信息管理系统
学生管理系统的文件总共有 5 个: main.c.stuSystem.h.stuSystem.c.ArrayLib.h 和 ArrayLib.c 其中 ArrayLib.h 和 ArrayLib.c ...
最新文章
- Xposed: 勾住(Hook) Android应用程序对象的方法,实现AOP
- windows 7平台 使用 感言
- Android_Layout (一)
- Avalonia跨平台入门第十二篇之动画效果
- python直方图均衡_Python实现图像直方图均衡化算法
- pandas 替换数字列中的字符串
- Activity之间的跳转和四种启动模式
- 2021计算机三级数据库大题总结
- 电子邮件是qq邮箱吗
- Ubuntu 机箱前置音频接口不能用的解决方法
- STM32 DFU下载与 DFU生成工具
- 操作系统Topic推荐-AMiner
- Motrix - 清爽开源免费的全能下载工具 (跨平台、支持 BT / 磁力链 / 百度网盘)
- 人工智能换脸技术python_人工智能几行代码实现换脸,python+dlib实现图文教程
- linux18.04安装显卡驱动,Ubuntu18.04安装nvidia显卡驱动
- Arduino单片机使用和开发问题记录
- python爬虫,爬取遥感影像瓦片并自动拼接
- NodeJs的安装与配置(安装包)
- 计算机专业有什么劣势,各个专业有什么“优劣势”呢?
- 控制鼠标定点移动及点击
热门文章
- JAVA翻译HTML网页内容
- itchat实现微信聊天机器人,定时发送微信消息,消息防撤回,消息监控,自定义回复消息
- python中from import*的*什么意思_[Python]Python中的import和from import
- [.NET/C#]快速采集全国城市商圈数据
- riplus子主题极致美化。Riplus子主题QIW主题二开美化主题免费下载
- PaaS将吞噬云计算?Kubernetes的市场冲击波
- Effective C++:改善程序与设计的55个具体做法
- USB转JTAG小板 (一)
- 微信测试是否被删软件,微信右上角的+号如何检测是否被好友删除
- Microsoft Visual C++ 和 Borland C++ Builder 之比较