c语言设计学生成绩程序,求设计过程和思想
学生成绩管理系统,编写一个菜单驱动的学生成绩管理程序。要求如下:1)能输入并显示n个学生的m门考试科目的成绩、总分和平均分。
2)按总分由高到低进行排序。
3)任意输入一个学号,能显示该学生的姓名、各门功课的成绩。
加分项目:
(1) 成绩可以保存到文件中,并将文件的数据输出到屏幕上。
(2) 用链表实现 用C语言你就从上往下写就行了,写出来再慢慢优化 这个感觉还是比较简单的,按着逻辑封装好函数,依次循环调用就好了
我之前倒是实现过一次类似的通讯管理,不过我没用文件操作,而且我是用数组实现的那时候不会链表
我叫MD 发表于 2019-6-27 10:16
这个感觉还是比较简单的,按着逻辑封装好函数,依次循环调用就好了
我之前倒是实现过一次类似的通讯管理 ...
需要的话给你找找你当作参考 我叫MD 发表于 2019-6-27 10:17
需要的话给你找找你当作参考
想问用C++编写的学生档案管理系统吗,借鉴一下{:5_99:} 我叫MD 发表于 2019-6-27 10:17
需要的话给你找找你当作参考
高手的作品,我当然想参考了 预上分猛男 发表于 2019-6-27 12:37
想问用C++编写的学生档案管理系统吗,借鉴一下
发下面了 自己做个参考把 我也是个新手一起学习一起进步 zhangyupeng 发表于 2019-6-27 12:42
高手的作品,我当然想参考了
我可不是高手,刚刚学习而已 ,我的是通讯录的管理系统,只可以借鉴,不能抄的,自己看看 ,这个程序都差不多一个样子 不会的话多多交流, 最后还希望给个最佳答案
#include <iostream>
#include <string>
#define MAX 1000
using namespace std;
void showMenu(); //打印欢迎界面
void addition(struct Contacts contacts[]); //添加联系人
void show(struct Contacts contacts[]); //显示联系人
void deleteition(struct Contacts contacts[]); //删除联系人
void loctition(struct Contacts contacts[]); //查找联系人
void change(struct Contacts contacts[]); //修改联系人
void empty(); //清空联系人
struct Contacts
{
string m_Name;
string m_Sex;
string m_Age;
string m_Phone;
string m_Address;
};
int g_count = 0;
void showMenu()
{
cout << "*******************************************" << endl;
cout << "************** 1、添加联系人 **************" << endl;
cout << "************** 2、显示联系人 **************" << endl;
cout << "************** 3、删除联系人 **************" << endl;
cout << "************** 4、查找联系人 **************" << endl;
cout << "************** 5、修改联系人 **************" << endl;
cout << "************** 6、清空联系人 **************" << endl;
cout << "************** 0、退出通讯录 **************" << endl;
cout << "*******************************************" << endl;
}
void addition(struct Contacts contacts[])
{
cout << "请输入姓名:";
cin >> contacts.m_Name;
cout << "请输入性别:";
cin >> contacts.m_Sex;
cout << "请输入年龄:";
cin >> contacts.m_Age;
cout << "请输入电话:";
cin >> contacts.m_Phone;
cout << "请输入地址:";
cin >> contacts.m_Address;
g_count++;
}
void show(struct Contacts contacts[])
{
if(g_count == 0)
{
cout << "您还没有联系人,请添加..." << endl;
cout << endl;
return;
}
else
{
for(int i = 0; i < g_count; i++)
{
cout << "姓名:" << contacts.m_Name
<< "\t性别:" << contacts.m_Sex
<< "\t年龄:" << contacts.m_Age
<< "\t电话:" << contacts.m_Phone
<< "\t地址:" << contacts.m_Address << endl;
}
}
}
void deleteition(struct Contacts contacts[])
{
string deletename;
cout << "请输入删除联系人的姓名:";
cin >> deletename;
for(int i = 0; i < g_count; i++)
{
if(deletename == contacts.m_Name)
{
for(int j = i; j < g_count-1; j++)
{
contacts = contacts;
}
cout << "删除成功!" << endl;
g_count--;
return;
}
}
cout << "删除失败!" << endl;
cout << "原因:没有找到该联系人" << endl;
return;
}
void loctition(struct Contacts contacts[])
{
string deletename;
cout << "请输入查找联系人的姓名:";
cin >> deletename;
for(int i = 0; i < g_count; i++)
{
if(deletename == contacts.m_Name)
{
cout << "姓名:" << contacts.m_Name
<< "\t性别:" << contacts.m_Sex
<< "\t年龄:" << contacts.m_Age
<< "\t电话:" << contacts.m_Phone
<< "\t地址:" << contacts.m_Address << endl;
return;
}
}
cout << "抱歉,没有找到该联系人!" << endl;
}
void change(struct Contacts contacts[])
{
string deletename;
cout << "请输入修改联系人的姓名:";
cin >> deletename;
for(int i = 0; i < g_count; i++)
{
if(deletename == contacts.m_Name)
{
cout << "请输入姓名:";
cin >> contacts.m_Name;
cout << "请输入性别:";
cin >> contacts.m_Sex;
cout << "请输入年龄:";
cin >> contacts.m_Age;
cout << "请输入电话:";
cin >> contacts.m_Phone;
cout << "请输入地址:";
cin >> contacts.m_Address;
cout << "修改成功" << endl;
return;
}
}
cout << "抱歉,没有找到该联系人!" << endl;
return;
}
void empty()
{
if(g_count == 0)
{
cout << "你当前没有任何联系人,已是清空状态" << endl;
}
else
{
g_count = 0;
cout << "通讯录已清空" << endl;
}
}
int main()
{
int order = 0;
struct Contacts contacts;
while(true)
{
showMenu();
cout << "请输入你要操作功能的序号:";
cin >> order;
while(order < 0 || order > 6)
{
cout << "输入错误,请重新输入:";
cin >> order;
}
switch(order)
{
case 1:
addition(contacts);
break;
case 2:
show(contacts);
system("pause");
break;
case 3:
deleteition(contacts);
system("pause");
break;
case 4:
loctition(contacts);
system("pause");
break;
case 5:
change(contacts);
system("pause");
break;
case 6:
empty();
system("pause");
break;
case 0:
cout << "欢迎下次使用" << endl;
return 0;
}
system("CLS");
}
return 0;
}
我叫MD 发表于 2019-6-27 18:43
我可不是高手,刚刚学习而已 ,我的是通讯录的管理系统,只可以借鉴,不能抄的,自己看看 ,这个程序都差 ...
我这个好像是C++版的,不过不影响,和C语言差不多 你把所有 cout当成 printf 用 cin 当作scanf
string是定义字符串其他都差不多 我叫MD 发表于 2019-6-27 18:43
我可不是高手,刚刚学习而已 ,我的是通讯录的管理系统,只可以借鉴,不能抄的,自己看看 ,这个程序都差 ...
谢谢呀,一起加油 zhangyupeng 发表于 2019-6-27 19:30
谢谢呀,一起加油
有用的话麻烦给个最佳答案
页:
[1]