C++实现的一个学生成绩管理示例
////main.cpp
//Hello
//
//Created by 余西安 on 16/5/19.
//Copyright © 2016年 Sian. All rights reserved.
//
#include <stdio.h>
#include <string.h>
// 创建基本数据结构
struct Student{
int id;
char name;
int score;
};
// 创建数据存储体
Student sa;
int count = 0;
// 创建实体对象
Student create(){
Student s;
printf("ID:");
scanf("%d", &s.id);
printf("Name:");
scanf("%s", s.name);
printf("Score:");
scanf("%d, %d, %d", &s.score, &s.score, &s.score);
return s;
}
// 创建添加函数
int add(const Student *s){
if (count > 100) return -1;
sa = *s;
count++;
return 0;
}
// 创建查找方法
int find(char name, Student *s){
for(int i = 0; i < count ; i++){
Student fs = sa;
if (strcmp(name, fs.name) == 0){
s->id = fs.id;
strcpy(s->name, fs.name);
s->score = fs.score;
s->score = fs.score;
s->score = fs.score;
return 0;
}
}
return -1;
}
// 创建展现方法
void list(){
if (count == 0){
printf("Nothing...\n");
return;
}
printf("---------------------\n");
printf("ID\tName\tScore\t\n");
printf("---------------------\n");
for (int i = 0; i < count; i++){
Student s = sa;
printf("%d\t%s\t%d,%d,%d\n", s.id, s.name, s.score, s.score, s.score);
}
printf("---------------------\n");
}
int main(){
while(true){
char cmd;
printf(">");
scanf("%s", cmd);
// 录入成绩
if(strcmp(cmd, "add") == 0){
Student s = create();
int resutl = add(&s);
if (resutl == 0) printf("添加成功!\n");
if (resutl == -1) printf("添加失败!\n");
continue;
}
if (strcmp(cmd, "list") == 0){
list();
continue;
}
if(strcmp(cmd, "exit") == 0){
printf("Bye!\n");
break;
}
if (strcmp(cmd, "count") == 0){
printf("Total:%d\n", count);
continue;
}
if (strcmp(cmd, "find") == 0){
Student s;
char name;
printf("请输入需要查询的学生姓名:");
scanf("%s", name);
int result = find(name, &s);
if (result == 0) printf("%d\t%s\t%d,%d,%d\n", s.id, s.name, s.score, s.score, s.score);
if (result == -1) printf("没有查询到相关信息\n");
continue;
}
printf("Error Code, please input code like \"add\", \"list\", \"exit\", \"count\"\n");
}
return 0;
}
调试输出结果:
>?
Error Code, please input code like "add", "list", "exit", "count"
>list
Nothing...
>add
ID:1
Name:sian
Score:1,2,3
添加成功!
>list
---------------------
ID Name Score
---------------------
1 sian 1,2,3
---------------------
>count
Total:1
>find
请输入需要查询的学生姓名:sian
1 sian 1,2,3
>exit
Bye!
Program ended with exit code: 0
页:
[1]