简单的学生成绩管理系统

#include<stdio.h>
struct Stu
{
	char Name[12];
	int ID;
	int Math;
	int Chinese;
	int English;
};
struct Stu Student[100];
void Menu()
{
	puts("1.Browse");
	puts("2.Add");
	puts("3.Delete");
	puts("4.Modify");
	puts("5.Find");
	puts("0.Exit");
}
void Browse()
{
	int i = 0;
	puts("Name\tIDnumber\tMath\tChinese\tEnglish\n");
	while (Student[i].ID != 0)
	{
		if (Student[i].ID != -1)
		{
			printf("%s\t%-8d\t%d\t%d\t%d\n", Student[i].Name, Student[i].ID, Student[i].Math, Student[i].Chinese, Student[i].English);
			i++;
		}
	}
}
int Add()
{
	int i = 0;
	puts("Put ID");
	int ID;
	scanf("%d", &ID);
	while (Student[i].ID != 0&&Student[i].ID != -1)
	{
		if (Student[i].ID == ID)
		{
			return 1;
		}
		i++;
	}
	Student[i].ID = ID;
	puts("Name");
	scanf("%s", &Student[i].Name);
	puts("Math,Chinese,English");
	scanf("%d,%d,%d",&Student[i].Math, &Student[i].Chinese, &Student[i].English);
	return 0;
}
int Delete()
{
	int i = 0;
	puts("Put ID");
	int ID;
	scanf("%d", &ID);
	while (Student[i].ID != 0)
	{
		if (Student[i].ID == ID)
		{
			Student[i].ID = -1;
			break;
		}
		i++;
	}
	if (Student[i].ID == 0)
		return 1;
	return 0;
}
int Modify()
{
	int i = 0;
	puts("Put ID");
	int ID;
	scanf("%d", &ID);
	while (Student[i].ID != 0)
	{
		if (Student[i].ID == ID)
		{
			break;
		}
		i++;
	}
	if (Student[i].ID == 0)
		return 1;
	puts("Math,Chinese,English");
	scanf("%d,%d,%d", &Student[i].Math, &Student[i].Chinese, &Student[i].English);
	return 0;
}
int Find()
{
	int i = 0;
	puts("Put ID");
	int ID;
	scanf("%d", &ID);
	while (Student[i].ID != 0)
	{
		if (Student[i].ID == ID)
		{
			printf("%s,%d,%d,%d\n", Student[i].Name, Student[i].Math, Student[i].Chinese, Student[i].English);
			break;
		}
		i++;
	}
	if (Student[i].ID == 0)
		return 1;
	return 0;
}
int main(void)
{
	while (1)
	{
		Menu();
		char s = getchar();
		while (getchar() != ‘\n‘)continue;
		switch (s)
		{
		case ‘1‘: {Browse(); while (getchar() != ‘\n‘)continue; break; }
		case ‘2‘: {if (Add() == 1)puts("ID is duplicated"); else puts("Add success!"); while (getchar() != ‘\n‘)continue; break; }
		case ‘3‘: {if (Delete() == 1)puts("ID doesn‘t exist"); else puts("Delete success!"); while (getchar() != ‘\n‘)continue; break; }
		case ‘4‘: {if (Modify() == 1)puts("ID doesn‘t exist"); else puts("Modify success!"); while (getchar() != ‘\n‘)continue; break; }
		case ‘5‘: {if (Find() == 1)puts("ID doesn‘t exist"); else puts("Find success!"); while (getchar() != ‘\n‘)continue; break; }
		case ‘0‘: {return 0; }
		default: {puts("Please obey!"); while (getchar() != ‘\n‘)continue; break; }
		}
	}
	return 0;
}

简介:100个表示学生的结构体,有添加,浏览所有学生,根据学号查找、修改、删除的功能。具有自动学号查重的功能。

写这段代码收获;

1.if配合break跳循环很好用.

2.scanf里面要是用输入%s格式,如

scanf("%s", &Student[i].Name);

就不要用scanf接受多个格式的变量了,这个scanf就专门用来接%s,因为如果不这样做,输入的时候后面你想要输入的不属于%s格式的内容无法与前面你想输入进去属于%s的内容分开,造成你不想要的结果.

3.\t用于对齐时,如果一列上的数据,有的大于等于8位,有的小于8位就会造成对不齐的效果,这个时候机智的将小于8位的数利用类似-%8d这种格式强制将其转化成8位的就可以了.

时间: 2024-10-24 00:32:59

简单的学生成绩管理系统的相关文章

Java实现简单的学生成绩管理系统

ScoreInformation.java import java.util.Scanner; class ScoreInformation {    private String stunumber;           //八位学号    private String name;    private double mathematicsscore;    private double englishscore;    private double networkscore;    priv

简单学生成绩管理系统

由于笔者能力所限所以只是简易程序,供初学者学习: #include <stdio.h> #include <stdlib.h> #include<string.h> #define n 100//此处自己更改 void face(void); void choice(int m,char name[][20],double math[],double english[],double Clanguage[]); void input(char name[][20],do

[项目记录] 用c语言完成的一个学生成绩管理系统

一.要求: 学生成绩管理系统 某班有最多不超过30人(具体人数由键盘输入)参加期末考试,最多不超过6门(具体门数由键盘输入).使用链表编程实现如下菜单驱动的学生成绩管理系统. 从文件读入每个学生个人信息和成绩信息,可以由键盘输入文件名.读入成功提示读入学生记录的个数,不成功提示相应出错信息. 增量式手动录入每个学生的学号.姓名和各科考试成绩.不考虑中文姓名,但需要考虑重名情况下的处理,学生的学号是唯一的. 计算每门课程的总分和平均分: 计算每个学生的总分和平均分: 按每个学生的总分由高到低排出名

linux下c/c++实例之十五简单的学生信息管理系统

一.简介 大学期间用vc++开发的简单的学生信息管理系统,主要有添加学生信息.删除学生信息.修改学生信息.查询学生信息.显示学生信息.综合统计(各课程平均成绩和合格率).总分排序和退出系统.设计: 二.详解 1.代码 (1)main.cpp #include<iostream> #include<fstream> #include<iomanip> //使用setw()函数 #include<windows.h> //使用system()函数 #includ

基于WEB的C#学生成绩管理系统

在信息化时代的不断冲击下,学生成绩管理系统与计算机技术的结合,将会是一条提高学生成绩管理系统水平的捷径.使用计算机对学生成绩管理系统的各项基本信息进行管理,比起手工管理来说既方便又简便,而且易于管理.搜索速度快.存储量大等多个优点.将其使用在学生成绩管理系统中,不仅能够提高学生成绩管理系统中管理员的工作效率,而且可以使学生成绩管理系统更加科学与规范.从某些方面上来说,现代学生成绩管理系统的不断标准化促使学生成绩管理系统各方面的管理都逐渐与现代信息处理密切相连,因此应该开发学生成绩管理系统系统将现

《C语言编写 学生成绩管理系统》

/* (程序头部凝视開始)* 程序的版权和版本号声明部分* Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved.* 文件名: 学生成绩管理系统 * 作 者: 刘江波 * 完毕日期: 2012 年 6 月 23 日* 版 本 号: v.623 * 对任务及求解方法的描写叙述部分 * 程序头部的凝视结束 */ #include "stdio.h" #include"string" /*定义学生结构体*/ struc

学生成绩管理系统 1.0(Java+MySql)

真难…… 数据库建立不会,中文编码不会,插入数据不会,删除不会…… Java读入数据不会……数据库连接不会…… 你也好意思说自己是学计算机的啊魂淡…… 我会慢慢写2.0,3.0版的……噗…… src/wenr/entity/Student.java package wenr.entity; /** 数据库定义 CREATE TABLE Student ( sid CHAR(10) PRIMARY KEY, sname CHAR(20) NOT NULL, sc DOUBLE(5,2), sm D

C语言练手自己编写学生成绩管理系统

#include<stdio.h> #include<stdlib.h> /*定义学生结构体*/ struct Student { char ID[20]; char Name[20]; float Mark1; float Mark2; float Mark3; float Avarage; }; /*声明学生数组及学生数量*/ struct Student students[1000]; int num=0; /*计算平均成绩*/ float Avg(struct Studen

java开发的简易学生成绩管理系统

经过1个月的紧张学习和应用,终于做出了这个简易的学生成绩管理系统. 代码如下(仅供参考学习) view包下的菜单 package com.xujulong.www.view: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Scanner; import com.xujulong.www.po.Manager; import