实验目的
动态构造一个数组来存储学生信息,然后按分数排序输出
实验点
动态构造数组需要使用malloc函数,头文件中需要添加
如果将名称定义为数组,则输入名称时不需要使用地址字符&,因为数组名称本身就是数组第一个元素的地址
需要结构体来存储学生信息,结构体可以放在主函数上方
分数排序需要冒泡排序
使用 %s 进行字符串输入和输出
数组结构体变量名.成员名
指针结构体变量名->成员名
实验步骤
1。打开VS2010,新建一个项目,选择空项目并命名,在源文件中添加新项,选择C++文件并命名,后缀为.cpp
2。敲代码的时候,先写基本框架
# 包括
int main()
{
返回0;
}
3。把大致的想法写在纸上:
①构造一个结构体(示例为struct Student),其中包含学生信息(示例为name和score,其中name为数组)
② 定义数组长度len,由用户输入(例如len = 3)
③ 使用malloc函数构造一维数组(示例为pArr)
④使用for循环输入学生信息
namecorexu88xia66you100
⑤ 使用冒泡排序对学生成绩进行排序,
⑥使用for循环输出排序后的学生信息
代码如下:
#包括
#包括
//构建学生信息结构
结构学生
{
字符名称[100];
浮动分数;
};
//主要功能
int main()
{
int i,j;
int len;//数组长度
struct Student kArr;//定义结构体数组用于交换
struct Student * pArr;//定义结构体数组指针变量
printf("请输入要排序的学生人数:");
scanf_s("%d",&len);//输入数组长度,即学生数量
pArr = (struct Student * )malloc(len * sizeof(struct Student)); //动态构造数组
//输入
for(i = 0;i < len;++i)
{
printf("请输入%d名学生的信息:\n",i + 1);
printf("姓名:");
scanf("%s",pArr[i].name);//name是数组名,它本身就已经代表了数组第一个元素的地址
printf("得分:");
scanf("%f",&pArr[i].score);
}
//冒泡排序
for(i = 0;i < len-1;++i)
{
for(j = 0;j < len-i-1;++j)
{
if(pArr[j].score < pArr[j+1].score)//降序排列
{
kArr = pArr[j];
pArr[j] = pArr[j +1];
pArr[j + 1] = kArr;
}//交换
}
}
//输出
printf("\n\n");
for(i = 0;i < len;++i)
{
printf("第%d名学生信息排名为:\n",i+1);
printf("名称: %s\n",pArr[i].name);
printf("分数: %f\n",pArr[i].score);
}
返回0;
}
4。实验结果(如果运行时不显示cmd且不报错,可以右键通用工程名,点击属性,修改链接器下系统中的子系统,选择控制台(/SUBSYSTEM:CONSOLE)然后申请即可):
实验总结
使用前需要定义结构体。我在这个实验中犯了一个错误
实验中,kArr代表交换的中间公共变量,所以它的数据类型是struct Student,而不是struct Student *
动态构造数组需要数组长度,所以需要先输入数组长度
输入时需要分别输入每个数组成员的地址,所以输入pArr[i].member name,而不是pArr->member name
降序排列的只是学生成绩。学生姓名无法更改,因此交换期间整个结构体变量都更改了
结构{...};
VS2010版本快捷键
Ctrl+E,D ----格式化所有代码
Ctrl+E,F ----格式化所选代码
CTRL + SHIFT + B 生成解决方案
CTRL + F7 生成并编译
CTRL + O 打开文件
CTRL + SHIFT + O 打开项目
CTRL + SHIFT + C 显示类视图窗口
F4 显示属性窗口
SHIFT + F4 显示项目属性窗口
CTRL + SHIFT + E 显示资源视图
F12 转到定义
CTRL + F12 转到语句
CTRL + ALT + J对象浏览
CTRL + ALT + F1 帮助目录
CTRL + F1 动态帮助
F1 帮助
SHIFT + F1 当前窗口帮助
CTRL + ALT + F3 帮助搜索
SHIFT + ALT + ENTER 全屏
CTRL + - 向后定位
CTRL + SHIFT + - 向前移动
CTRL + F4 关闭文档窗口
CTRL + PAGE DOWN 光标位于窗口上方
CTRL + PAGE UP 将光标定位在窗口下方
CTRL + F6
CTRL + TAB 下一个文档窗口
CTRL + SHIFT + F6
CTRL + SHIFT + TAB 上一个文档窗口
ALT + F6 下一个面板窗口
CTRL + K、CTRL + L 取消备注
CTRL + K、CTRL + C 注释所选代码
CTRL + K、CTRL + U 取消注释所选代码
CTRL + M、CTRL + O 折叠代码定义
CTRL + M, CTRL + L 扩展代码定义
CTRL + DELETE 删除至单词末尾
CTRL + BACKSPACE 删除至开头
SHIFT + TAB 取消选项卡
CTRL + U 变为小写
CTRL + SHIFT + U 变为大写
CTRL + SHIFT + END 选择到文档末尾
CTRL + SHIFT + HOME 选择从文档末尾开始
SHIFT + END 选择到行尾
SHIFT + HOME 选择到行首
SHIFT + ALT + END 垂直选择到末尾
SHIFT + ALT + HOME 垂直选择到前面
CTRL + SHIFT + PAGE UP 选择到本页的前面
CTRL + SHIFT + PAGE DOWN 选择到本页的后面
CTRL + END 将文档定位到末尾
CTRL + HOME 将文档移到前面
CTRL + A 选择全部
CTRL + W 选择当前单词
CTRL + G 转到...
CTRL + K, CTRL + P上一个选项卡
CTRL + K、CTRL + N 下一个选项卡
ALT + F10 调试-应用代码更改
CTRL + ALT+ Break 以停止调试
CTRL + SHIFT + F9 取消所有断点
CTRL + F9 启用中断
CTRL + SHIFT + F5 调试-重新开始
F5运行调试
CTRL + F5 无需调试即可运行
F10 交叉程序执行
F11 逐步执行
CTRL + J 列出成员
CTRL + PAGE DOWN 下一个视图
CTRL + B 格式-粗体
CTRL + SHIFT + T 格式文本缩进
调试快捷键
F6:生成解决方案
Ctrl+F6:生成当前项目
F7:查看代码
Shift+F7:查看表单设计器
F5:开始调试
Ctrl+F5:开始执行(不调试)
Shift+F5:停止调试
Ctrl+Shift+F5:重新启动调试
F9:切换断点
Ctrl+F9:启用/禁用断点
Ctrl+Shift+F9:删除所有断点
F10:逐个过程
Ctrl+F10:运行到光标处
F11:逐条语句
编辑快捷键
Shift+Alt+Enter:切换到全屏编辑
Ctrl+B,T / Ctrl+K,K:切换书签
Ctrl+B,N / Ctrl+K,N:移至下一个书签
Ctrl+B,P:移至上一个书签
Ctrl+B,C:清除所有标签
Ctrl+I:渐进搜索
Ctrl+Shift+I:反向渐进搜索
Ctrl+F:查找
Ctrl+Shift+F:在文件中查找
F3:查找下一个
Shift+F3:查找上一个
Ctrl+H:替换
Ctrl+Shift+H:替换文件中的
Alt+F12:搜索符号(列出所有搜索结果)
Ctrl+Shift+V:剪贴板循环
Ctrl + 左右方向键:一次移动一个单词
Ctrl+上下箭头键:滚动代码屏幕而不移动光标位置。
Ctrl+Shift+L:删除当前行
Ctrl+M,M:隐藏或展开当前嵌套折叠状态
Ctrl+M,L:将所有进程设置为相同的隐藏或展开状态
Ctrl+M,P:停止轮廓显示
Ctrl+E,S:查看空白
Ctrl+E,W:自动换行
Ctrl+G:转到指定行
Shift+Alt+箭头键:选择矩形文本
Alt+鼠标左键:选择矩形文本
Ctrl+Shift+U:全部更改为大写
Ctrl+U:全部更改为小写
代码快捷键
Ctrl+J / Ctrl+K,L:列出成员
Ctrl+Shift+空格键 / Ctrl+K,P:参数信息
Ctrl+K,I:快速消息
Ctrl+E,C / Ctrl+K,C:注释选择
Ctrl+E,U / Ctrl+K,U:取消选择注释内容
Ctrl+K,M:生成方法存根
Ctrl+K,X:插入代码片段
Ctrl+K,S:插入外码
F12:转到被调用过程或变量的定义
窗口快捷键
Ctrl+W,W:浏览器窗口
Ctrl+W,S:解决方案管理器
Ctrl+W,C:类视图
Ctrl+W,E:错误列表
Ctrl+W,O:输出视图
Ctrl+W,P:属性窗口
Ctrl+W,T:任务列表
Ctrl+W,X:工具箱
Ctrl+W,B:书签窗口
Ctrl+W,U:文档大纲
Ctrl+D,B:断点窗口
Ctrl+D,I:立即窗口
Ctrl+Tab:切换活动表单
Ctrl+Shift+N:新建项目
Ctrl+Shift+O:打开项目
Ctrl+Shift+S:保存全部
Shift+Alt+C:新课程
Ctrl+Shift+A:新建项目
VS2005 的隐藏快捷键
这里分享一下我无意中发现的一些VS2005中没有明确指出的快捷键。不是所有的快捷键,或者是一些常用的快捷键。
1. Ctrl+Space 直接补全类或函数(本来这不是隐藏快捷键,但是因为中文输入法抢占了这个快捷键,...替代快捷键是Alt+Right)
2. Shift+Delete 删除整行并将该行放到剪贴板上(此时无法选择一段内容)
3. Shift+Insert 粘贴起来有点奇怪,Ctrl+V 就够了,大概是对应 Shift+Delete
4. Ctrl+向上、Ctrl+向下滚动编辑器,但尽量不要移动光标。光标必须在可见范围内
5. Ctrl+BackSpace、Ctrl+Delete 删除整个单词,有时非常有用
6. Ctrl+左、Ctrl+右按照整个单词移动光标(不是隐藏,结合前面几项,就是Ctrl光标控制套件)
7. Alt+Shift+F10 打开一个小窗口,用于重命名和实现接口和抽象类(也可以使用 Ctrl+.,但有些中文输入法使用这个)
8.Shift+F9调试打开QuickWatch,内容为光标当前所在的内容
9. F12跳转定义,非常实用的快捷键
10. Shift+F12 查找所有引用
项目编号:www.sychzs.cn1056-大学生实验报告管理系统#毕业设计运行环境:VS+SQL开发工具:VS2010及以上数据库:SQL2008及以上版本使用技术:HTML+JS+HTML开发语言:C#、框架:www.sychzs.cn 随着在校学生人数的不断增加,学生的数量也在不断增加。同时,我们也面临着如何更加方便、快捷、高效地管理学生的实验报告信息。传统的实验报告管理模式明显。已经不能满足当前的需求,因此我们提出设计开发一个大学生实验报告管理系统。本课题基于www.sychzs.cn,使用Visual Studio和SQL Server工具在Windows 7系统环境下开发一个大学生实验报告管理系统。该校学生实验报告管理系统分为管理员、教师、学生三个模块。其中,高校实验室报告管理系统中的管理人员登录后可以对系统中的学生和教师用户进行管理,方便其上传和修改相应的实验报告内容。教师用户登录后,可以根据具体实验内容将实验报告分配给学生,并可以对学生提交的实验报告进行批改和评分。学生用户看到教师用户发布的实验报告内容后,继续完成并提交。
登录界面
管理员后台
教师管理界面
学生管理界面
大学生实验报告管理系统主要提供校内服务。系统分为管理员、教师和学生三部分。
本课题的重点主要包括以下模块:该校学生实验报告管理系统分为管理员、教师、学生三个模块。其中,实验报告管理系统中的管理员模块主要包括实验报告管理、账户管理、公告管理、消息管理、用户管理、批改与审批、上传管理和下载管理。学生模块和教师模块主要包括实验报告的上传和下载、账户管理、公告管理和消息管理、成绩管理。 。这些模块相互独立但又有一定的联系,缺一不可。
系统功能结构图