标题:学生管理系统
只看楼主
yyd0018030
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-3-6
 问题点数:0 回复次数:3 
学生管理系统

要求: 结构体 struct stud st[N]
{ int ID //学号
char name[10] //姓名
float c
float java
float sql //成绩
float sum //总和
float avg //平均值 }
实现:输入 输出 修改 添加 查询 删除 (请帮忙把查询和修改这2块写下)
用函数实现每个块
请一定多带点注释 本人刚学没多久 做这个太吃亏拉

搜索更多相关主题的帖子: float 系统 学生 java stud 
2006-03-07 19:20
梦想中国
Rank: 2
等 级:新手上路
威 望:5
帖 子:539
专家分:0
注 册:2006-2-26
得分:0 
search used search() function,modify used modify() function.

2006-03-07 19:47
中轴线
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2006-2-25
得分:0 

/* 标准文档模板 */

#include "Stdio.h"
#include "Conio.h"
#define N 100
struct stud
{char name[10];
int c;
int java;
int sql;
int sum;
int avg;
};
main()
{ int i=0,*n=0;
char c;
struct stud st[N];
void input(struct stud st[N],int i,int *n);
void insert(struct stud st[N],int i,int *n);
void increase(struct stud st[N],int i,int *n);
printf("'p':输入 's':插入 'c':删除\n");
do{c=getch();
switch(c)
{
case 'p' :input(st,i,n);i++;break;
case 's' :printf("插入的位置:");scanf("%d",&i);insert(st,i,n);break;
case 'c' :printf("要删除的是:");scanf("%d",&i);increase(st,i,n);break;
default :break;
};
}while(c!='\r');

for(i=0;i<*n;i++)
printf("\n姓名:%s\nc语言成绩:%d\njava语言成绩:%d\nsql成绩:%d\n总成绩:%d\n平均分:%d\n",
st[i].name,st[i].c,st[i].java,st[i].sql,st[i].sum,st[i].avg);
getch();
return 0;
}

void input(struct stud st[N],int i,int *n)//*输入函数*//
{
printf("请输入第%d个人的姓名:",i+1);
scanf("%s",st[i].name);
printf("请输入第%d个人的c语言成绩:",i+1);
scanf("%d",&st[i].c);
printf("请输入第%d个人的java语言成绩:",i+1);
scanf("%d",&st[i].java);
printf("请输入第%d个人的sql语言成绩:",i+1);
scanf("%d",&st[i].sql);
st[i].sum=st[i].c+st[i].java+st[i].sql;
st[i].avg=(st[i].c+st[i].java+st[i].sql)/3;
*n+=1;
}
void insert(struct stud st[N],int i,int *n)//*插入函数*//
{ int j,a;
for(j=*n;j>i;j--)
{
for(a=0;a<=9;a++)
{st[j].name[a]=st[j-1].name[a]; }
st[j].c=st[j-1].c;
st[j].java=st[j-1].java;
st[j].sql=st[j-1].sql;
st[j].sum=st[j-1].sum;
st[j].avg=st[j-1].avg;
};
input(st,i,n);
}
void increase(struct stud st[N],int i,int *n)//*删除函数*//
{
int j,a;
for(j=i;j<*n-1;j++)
{
for(a=0;a<=9;a++)
{st[j].name[a]=st[j+1].name[a]; }
st[j].c=st[j+1].c;
st[j].java=st[j+1].java;
st[j].sql=st[j+1].sql;
st[j].sum=st[j+1].sum;
st[j].avg=st[j+1].avg;
};
*n-=1;
}


自己烦乱编的,还望大家指教!


2006-03-09 23:14
hashing
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-3-10
得分:0 

开始运行时不初始化就能进行查询插入删除等功能吗
关掉程序后结果能保存供下次运行时使用吗

楼上的应该把结果保存到磁盘文件上,以备再次调用。
不然每次运行都要进行信息初始化。
写入磁盘文件函数大约是在文件那一章。


2006-03-10 14:06



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-48967-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.304498 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved