文道网络科技 文道网络科技
关注数: 209 粉丝数: 598 发帖数: 2,932 关注贴吧数: 119
两道 数据结构 算法题目,有会的帮一下 文道([email protected]) 19:05:23 有一块很大的农场!农场里分成了 n 块农田,编号为 1-n,这些农田由 n-1 个沟渠联通 着。 这些沟渠中的一些已经干涸了,农场主想要让所有沟渠都保持有水。但是他只能在农田 里浇水。如果他在某块农田里浇了水,那么从这块农田到 1 号农田简单路径上的沟渠都会处 于有水的状态。显然,这样的路径只会有一条。 这个农场主想知道,他最少要浇几块农田,才能让所有沟渠都有水。 ★数据输入 第一行输入一个整数 n。 接下来 n-1 行,每行三个整数 u,v,s(1<=u,v <=n)描述一条沟渠的状态,表示 u,v 之间有一条沟渠,s = 1 表示这条沟渠里有水,s = 2 表示这条沟渠干了。 ★数据输出 第一行输出一个整数 k 表示最少的浇灌次数 20%:n < 10 40%: n < 100 100%:n < 100000 输入示例 5 1 2 2 2 3 2 3 4 2 4 5 2 输出示例 1 输入示例 5 1 2 1 2 3 2 2 4 1 4 5 1 输出示例 1 ★实验任务 有一张无限大的图,图中的节点编号从1开始。图中节点由无向边连接,编号为i的节点分别与2i号节点和2i+1号节点连接,显然任意两个点之间的最短路是确定的且唯一的。最开始每条边上的花费都是0。 接下来有两种操作 给从u到v的最短路上的每条边都加上w的花费 计算走最短路从u到v的总花费(即路上所有边的花费和) ★数据输入 第一行输入一个整数q,表示操作的数量,接下来q行,每行第一个数字代表操作的类型,如果是1号操作,则紧接着输入u,v,w三个整数;如果是2号操作,接着输入u,v两个整数。 ★数据输出 对于每一个2号操作,输出一行一个数字,代表路上的总花费 输入示例 7 1 3 4 30 1 4 1 2 1 3 6 8 2 4 3 1 6 1 40 2 3 7 2 2 4 输出示例 94 0 32 ★数据范围 50% : q <= 10, 1≤u,v,w≤1000 100% : q <= 1000, 1≤u,v≤1000000,w <= 1e9
如何学好编程这门学问 1. 摆正心态,学习一门知识,尤其是编程这种非常深奥的知识,首先要有恒心和毅力,请记住编程是终身知识,不是一时就能学会弄懂的。 编程分编程工具(C python java C# 等)和算法。编程工具,是语法规则,而算法是思路,一个算法思路有了之后通过某种语言进行落实。 第一步,用心掌握某一门编程语言,因为学好了一门,可以举一反三很快掌握其他的语言的相关知识。 第二步,会了一门或几门编程语言知识之后,学习数据结构来提升自己的内功,而实现数据结构的书籍以C语言为多,当然还有python版 java版 C++版等。数据结构要学好除掌握一门编程工具外,最好在之前学过离散数学。数据结构又是计算机专业学编译方法和操作系统的前提。 2、了解不同编程工具, 知道它们大概是什么、讲什么才能有的放矢,事半功倍。比如C语言,是面向过程编程,而java C# C++Python是面向对象编程。 C语言学习主要包括,基本语法,顺序结构,分支结构,循环结构,字符串,数组,指针,结构体,联合体,枚举,及文件的读写操作。 C++语言学习主要包括,除C的内容外,增加了引用,面向对象,模板,STL,异常 ... Java C# Python 也是以面向对象为核心,除类似C++的内容外,网络编程,数据库编程,线程,某种软件的二次开发,界面窗体等知识根据需要也是得学习掌握的。
如何学好编程这门学问 如何学好编程这门学问 1. 摆正心态,学习一门知识,尤其是编程这种非常深奥的知识,首先要有恒心和毅力,请记住编程是终身知识,不是一时就能学会弄懂的。 编程分编程工具(C python java C# 等)和算法。编程工具,是语法规则,而算法是思路,一个算法思路有了之后通过某种语言进行落实。 第一步,用心掌握某一门编程语言,因为学好了一门,可以举一反三很快掌握其他的语言的相关知识。 第二步,会了一门或几门编程语言知识之后,学习数据结构来提升自己的内功,而实现数据结构的书籍以C语言为多,当然还有python版 java版 C++版 等。数据结构要学好除掌握一门编程工具外,最好在之前学过离散数学。数据结构又是计算机专业学 编译方法 和 操作系统的前提。 2、了解不同编程工具, 知道它们大概是什么、讲什么才能有的放矢,事半功倍。比如C语言,是面向过程编程,而java C# C++Python是面向对象编程。 C语言学习主要包括,基本语法,顺序结构,分支结构,循环结构,字符串,数组,指针,结构体,联合体,枚举,及文件的读写操作。 C++语言学习主要包括,除C的内容外,增加了引用,面向对象,模板,STL,异常 ... Java C# Python 也是以面向对象为核心,除类似C++的内容外,网络编程,数据库编程,线程,某种软件的二次开发,界面窗体等知识根据需要也是得学习掌握的。
C语言 大纲 day1第01课时 什么是C语言02:58第02课时 语言发展历史02:17第03课时 C语言特点02:54第04课时 环境搭建04:30第05课时 第一个C程序07:55第06课时 注释04:18第07课时 程序框架介绍11:47第08课时 system函数06:08第09课时 常用快捷键08:58第10课时 C4996错误警告07:20第11课时 转义字符06:52day2第01课时 变量的意义08:15第02课时 变量的定义和声明06:31第03课时 常量08:00第04课时 关键字04:14第05课时 标识符命名规则08:14第06课时 整型09:26第07课时 sizeof关键字03:47第08课时 字符型09:27第09课时 浮点型07:53第10课时 字符串08:42第11课时 数据的输入11:29day3第01课时 加减乘除08:41第02课时 取模运算05:01第03课时 递增递减运算符06:14第04课时 赋值运算符06:35第05课时 比较运算符03:59第06课时 逻辑非运算符03:57第07课时 逻辑与运算符08:13第08课时 逻辑或运算符06:31第09课时 运算符优先级14:07day4第01课时 单行if语句07:43第02课时 多行if语句03:48第03课时 多条件if语句06:32第04课时 嵌套if语句05:24第05课时 if语句注意事项07:19第06课时 if语句案例07:05第07课时 三目运算符05:32第08课时 switch语句10:06第09课时 while循环03:22第10课时 while循环案例10:15第11课时 do_while循环04:05第12课时 do_while循环案例06:39第13课时 for循环06:02第14课时 for循环案例05:32第15课时 嵌套循环04:30第16课时 嵌套循环案例05:22第17课时 跳转语句break05:32第18课时 跳转语句continue03:37第19课时 跳转语句goto03:49day5第01课时 一维数组定义17:19第02课时 一维数组名称09:03第03课时 五只小猪称体重09:18第04课时 数组元素逆置09:49第05课时 冒泡排序思路分析12:55第06课时 冒泡排序代码实现05:11第07课时 二维数组定义12:53第08课时 二维数组数组名08:47第09课时 二维数组应用案例05:21第10课时 字符数组初始化07:07第11课时 字符串统计07:04第12课时 字符串输入输出13:14day6第01课时 函数的定义06:41第02课时 函数的调用05:01第03课时 函数的声明07:16第04课时 函数的常见样式05:47第05课时 值传递04:37第06课时 函数的分文件编写09:28day7第01课时 指针变量的定义和使用09:36第02课时 指针所占内存空间03:38第03课时 空指针和野指针06:44第04课时 const修饰指针10:05第05课时 指针和数组08:06第06课时 指针和函数05:52day8第01课时 结构体定义和使用13:03第02课时 结构体数组07:49第03课时 结构体指针05:23第04课时 结构体嵌套结构体06:04第05课时 结构体做函数参数07:47第06课时 结构体中const使用场景06:33第07课时 结构体案例10:13day9第01课时 strcpy和strncpy10:29第02课时 strcat和strncat05:36第03课时 strcmp07:35第04课时 strncmp04:57第05课时 sprintf05:51第06课时 sscanf基础语法07:40第07课时 sscanf扩展11:12第08课时 sscanf案例102:47第09课时 sscanf案例204:06第10课时 sscanf案例304:12第11课时 strchr04:06第12课时 strstr04:22第13课时 strtok基础语法05:59第14课时 strtok代码优化03:43第15课时 strtok扩展02:10第16课时 atoi和字符串总结06:47day10第01课时 文件的基本概念08:38第02课时 文件指针05:09第03课时 fopen和fclose11:55第04课时 fputc和fgetc08:53第05课时 fputs和fgets10:42第06课时 fprintf和fscanf11:33第07课时 fwrite和fread08:47第08课时 文本文件与二进制文件07:05第09课时 rewind06:58第10课时 fseek09:57第11课时 ftell04:58第12课时 实现欢迎界面和退出功能08:04第13课时 记录分数功能实现09:43第14课时 显示分数功能实现06:40第15课时 设置文件是否为空标志05:32第16课时 清空文件功能实现07:08继续学习第17课时 课程总结
栈的基本操作 #include <stdio.h> #include<stdlib.h> #include <iostream> using namespace std; // 函数结果状态代码 #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define OVERFLOW -1 #define STACK_INIT_SIZE 100 //存储空间初始分配量 #define STACKINCREMENT 10 //存储空间分配增量 typedef int SElemType; // 定义栈元素类型为整型 /* 顺序栈类型定义 */ typedef struct { SElemType *base; //栈的基址即栈底指针 SElemType *top; //栈顶指针 int stacksize; //当前分配的空间 }SqStack; void input(SElemType &s); void output(SElemType s); void InitStack(SqStack &S);// 构造一个空栈S void DestroyStack(SqStack &S); // 销毁栈S,S不再存在 void ClearStack(SqStack &S); // 把S置为空栈 int StackEmpty(SqStack S); // 若栈S为空栈,则返回TRUE,否则返回FALSE int StackLength(SqStack S); // 返回S的元素个数,即栈的长度 int GetTop(SqStack S,SElemType &e); // 若栈不空,则用e返回S的栈顶元素,并返回OK;否则返回ERROR void Push(SqStack &S,SElemType e); // 插入元素e为新的栈顶元素 int Pop(SqStack &S,SElemType &e); // 若栈不空,则删除S的栈顶元素,用e返回其值,并返回OK;否则返回ERROR void StackTraverse(SqStack S,void(*visit)(SElemType)); // 从栈底到栈顶依次对栈中每个元素调用函数visit() int main() { int j; SqStack s; SElemType e; InitStack(s); int i; cin>>i; for(j=0;j<i;j++) { input(e); Push(s,e); } printf("栈中元素依次为:"); StackTraverse(s,output); Pop(s,e); printf("弹出的栈顶元素 e=%d\n",e); printf("栈空否:%d(1:空 0:否)\n",StackEmpty(s)); GetTop(s,e); printf("栈顶元素 e=%d 栈的长度为%d\n",e,StackLength(s)); ClearStack(s); printf("清空栈后,栈空否:%d(1:空 0:否)\n",StackEmpty(s)); DestroyStack(s); printf("销毁栈后,s.top=%u s.base=%u s.stacksize=%d\n",s.top,s.base, s.stacksize); } /*****SElemType类型元素的基本操作*****/ void input(SElemType &s) { cin>>s; } void output(SElemType s) { cout<<s<<" "; } /*****顺序栈的基本操作*****/ void InitStack(SqStack &S) { // 构造一个空栈S /********** Begin **********/ if (!(S.base = (SElemType*)malloc(STACK_INIT_SIZE * sizeof(SElemType)))) exit(OVERFLOW); S.top = S.base; S.stacksize = STACK_INIT_SIZE; /********** End **********/ } void DestroyStack(SqStack &S) { // 销毁栈S,S不再存在 /********** begin**********/ free(S.base); S.base = NULL; S.top = NULL; S.stacksize = 0; /********** End **********/ } void ClearStack(SqStack &S) { // 把S置为空栈 /********** Begin **********/ if(StackEmpty(S)) return ; else S.top = S.base; /********** End **********/ } int StackEmpty(SqStack S) { // 若栈S为空栈,则返回TRUE,否则返回FALSE /********** Begin **********/ if (S.top == S.base) return TRUE; else return FALSE; /********** End **********/ } int StackLength(SqStack S) { // 返回S的元素个数,即栈的长度 /********** Begin **********/ return S.top - S.base; /********** End **********/ } int GetTop(SqStack S,SElemType &e) { // 若栈不空,则用e返回S的栈顶元素,并返回OK;否则返回ERROR /********** Begin **********/ if (S.top > S.base)//非空时 { e = *(S.top - 1);//先-1,后取内容,指针不对 return OK; } else return ERROR; /********** End **********/ } void Push(SqStack &S,SElemType e) { // 插入元素e为新的栈顶元素 /********** Begin **********/ if (S.top - S.base >= S.stacksize)//考虑满问题 { if (!(S.base = (SElemType*)realloc(S.base, (S.stacksize + STACKINCREMENT ) * sizeof(SElemType)))) exit(OVERFLOW); S.top = S.base + S.stacksize;//栈顶移动 S.stacksize += STACKINCREMENT ; } *(S.top)++ = e; //先放元素,然后+1移动 /********** End **********/ } int Pop(SqStack &S,SElemType &e) { // 若栈不空,则删除S的栈顶元素,用e返回其值,并返回OK;否则返回ERROR /********** Begin **********/ if (S.top == S.base) return ERROR; e = *--S.top;//先-1,后取内容 return OK; /********** End **********/ } void StackTraverse(SqStack S,void(*visit)(SElemType)) { // 从栈底到栈顶依次对栈中每个元素调用函数visit() /********** Begin **********/ if (!StackEmpty(S)) for(SElemType *p=S.base;p<S.top;p++) visit(*p); printf("\n") ; /********** End **********/ }
[数据结构之线性表的ADT] /* // ----- 线性表的静态分配顺序存储结构 ------#define MaxSize 100typedef int ElemType; //假设顺序表中所有元素为inttypedef struct{ ElemType dat[MaxSize];//存放顺序表的元素 int length;//实际长度}SqList;//顺序表类型*/#define _CRT_SECURE_NO_WARNINGS#include using namespace std;#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0typedef int Status; //状态 比如找到或没找到,插入成功或不成功// ----- 线性表的动态分配顺序存储结构 ------#define LIST_INIT_SIZE 100//线性表的存储空间的初始分配量#define LIST_INCREMENT 10 //线性表存储空间的分配增量typedef int ElemType;typedef struct { ElemType* elem; int length; int listsize;}SqList;//初始化线性表算法//构造一个空的线性表。Status InitList_Sq(SqList& L);//销毁线性表算法//前提条件:顺序线性表L已经存在。//操作结果:销毁顺序线性表L。Status DestroyList(SqList& L);//求线性表长度运算算法//返回顺序表L的length域值。int GetLength(SqList L);//求线性表第i位置元素 1 2 3 4 ...n//前提条件:顺序线性表L存在i<=ListLength(L)//操作结果:用e返回L中第i个数据元素的值Status GetElem(SqList L, int i, ElemType& e);//按值查找位置算法//在顺序表L找第一个值为e的元素,找到后返回其逻辑序号,//否则返回0(由于线性表的逻辑序号从1开始,这里用0表示没找到)int LocateElem(SqList L, ElemType e);//将新元素e插入到顺序表L中逻辑序号为i的位置//如果插入成功,元素e为线性表的第i个元素//不的合法位置是1<=i<=L.length+1//当i无效时返回0 表示插入失败。Status Insert(SqList& L, int i, ElemType e);//删除算法//删除顺序表L中逻辑号为i的元素//i的合法值为1<=L.length.i无效时返回0.表示失败//有效时L.elem[i..length-1]前移一个位置//顺序表长度减1,并返回1,表示成功。Status ListDelete_sq(SqList& L, int i, ElemType& e);Status InitList_Sq(SqList& L){ L.elem = (ElemType *)malloc(sizeof(ElemType) * LIST_INIT_SIZE ); if (!L.elem) return ERROR;//通过动态分配的都需要检测是否成功 L.length = 0; L.listsize = LIST_INIT_SIZE; return OK;}Status DestroyList(SqList& L){ free(L.elem); L.elem = NULL; L.length = 0; L.listsize = 0; return OK;}int GetLength(SqList L){ return L.length;}Status GetElem(SqList L, int i, ElemType& e){ if (i<1 || i>L.length) return ERROR; e = *(L.elem + i - 1); return OK;}int LocateElem(SqList L, ElemType e){ ElemType* p=L.elem; int i = 1;//i的初值为第1个元素的位序 while (i <= L.length && (*p++ != e)) i++; if (i < L.length) return i; return 0;}Status Insert(SqList& L, int i, ElemType e){ if (i<1 || i>L.length+1)//范围不合理 return ERROR; if (L.length >= L.listsize)//当前存储空间满的话,先扩容,realloc { ElemType* newbase = (ElemType*)realloc(L.elem, sizeof(ElemType) * (LIST_INCREMENT + L.length)); if (!newbase) return ERROR;//存储分配失败 L.elem = newbase;//新地址 L.listsize += LIST_INCREMENT;//增加存储容量 } ElemType* q = &(L.elem[i-1]);//q指向插入的位置 for (ElemType* p = &L.elem[L.length - 1]; p >= q; p--)//数据整体后移 *(p + 1) = *p; *q = e; L.length++; return OK;}Status ListDelete_sq(SqList& L, int i, ElemType& e){ if (i<1 || i>L.length) return ERROR; //i不合法 ElemType* p, * q; p = &(L.elem[i - 1]);//p为被删除元素的位置 e = *p;//返回被删除元素的值 q = L.elem + L.length - 1;//指向尾元素 for (++p; p <= q; p++) *(p - 1) = *p; L.length--; return OK;}int main(){ SqList L; InitList_Sq(L); ElemType e; e = 100; Insert(L,1, e); Insert(L, 1, e); Insert(L, 1, e); Insert(L, 1, e); Insert(L, 1, e); Insert(L, 1, e); Insert(L, 1, e); Insert(L, 1, 66); GetElem(L, 3, e); for (int i = 1; i < L.length+1; i++) { GetElem(L, i, e); cout << e<<" " << endl; } cout << e << endl; int i = LocateElem(L,66); cout << i << endl; DestroyList(L); cout << "" << endl; return 0;}
最近有好多人要写VB的作业~! 目录 学号: 题目:填空题判阅系统................................................. 3 学号: 题目:水费管理系统............................................... 4 学号: 题目:学生档案[url]http://学号: 题目:填空题判阅系统................................................. 3[/url] [url]http://学号: 题目:水费管理系统............................................... PAGEREF _Toc28343 4[/url] [url]http://学号: 题目:学生档案管理系统........................................... PAGEREF _Toc2793 5[/url] [url]http://学号: 题目:公交查询系统.................................................... PAGEREF _Toc31902 6[/url] [url]http://学号: 题目:电影院售票系统................................................. PAGEREF _Toc12500 7[/url] [url]http://学号: 题目:计算机硬件知识考试系统................................... PAGEREF _Toc9125 8[/url] [url]http://学号: 题目:超市“自由存取箱”的模拟............................. PAGEREF _Toc23174 9[/url] [url]http://学号: 题目:编程题的题库维护........................................... PAGEREF _Toc3797 10[/url] [url]http://学号: 题目:小球沿SIN曲线运动........................................ PAGEREF _Toc4676 11[/url] [url]http://学号: 题目:简单的汽车站售票系统.................................... PAGEREF _Toc25937 12[/url] [url]http://学号: 题目:健身跑学分管理系统........................................ PAGEREF _Toc22734 13[/url] [url]http://学号: 题目:教师上课随机点名........................................... PAGEREF _Toc27228 14[/url] [url]http://学号: 题目:食品信息管理.................................................. PAGEREF _Toc7122 15[/url] [url]http://学号: 题目:上机管理系统1................................................ PAGEREF _Toc5755 16[/url] [url]http://学号: 题目:上机管理系统2................................................ PAGEREF _Toc29967 17[/url] [url]http://学号: 题目:学生入学签到管理........................................... PAGEREF _Toc15001 18[/url] [url]http://学号: 题目:气温数据管理.................................................. PAGEREF _Toc8029 19[/url] [url]http://学号: 题目:足球比赛成绩管理........................................... PAGEREF _Toc1368 20[/url] [url]http://学号: 题目:图书销售管理.................................................. PAGEREF _Toc14653 21[/url] [url]http://学号: 题目:学生通讯录管理............................................... PAGEREF _Toc17406 22[/url] [url]http://学号: 题目:银行存取款管理............................................... PAGEREF _Toc26780 23[/url] [url]http://学号: 题目:图片浏览器...................................................... PAGEREF _Toc17299 24[/url] [url]http://学号: 题目:图书借还系统.................................................. PAGEREF _Toc20968 25[/url] [url]http://学号: 题目:选择教师系统.................................................. PAGEREF _Toc7215 26[/url] [url]http://学号: 题目:学生成绩管理.................................................. PAGEREF _Toc9394 27[/url] [url]http://学号: 题目:学生选课系统.................................................. PAGEREF _Toc16273 28[/url] [url]http://学号: 题目:英汉词典......................................................... PAGEREF _Toc21100 29[/url] [url]http://学号: 题目:微机销售信息系统........................................... PAGEREF _Toc11623 30[/url] [url]http://学号: 题目:时钟模拟......................................................... PAGEREF _Toc26627 31[/url] [url]http://学号: 题目:学生信息查询系统........................................... PAGEREF _Toc761 32[/url] [url]http://学号: 题目:模仿记事本程序............................................... PAGEREF _Toc2408 33[/url] [url]http://学号: 题目:工资管理......................................................... PAGEREF _Toc2328 34[/url] [url]http://学号: 题目:曲柄滑块机构.................................................. PAGEREF _Toc17989 35[/url] [url]http://学号: 题目:模拟单摆运动.................................................. PAGEREF _Toc14964 36[/url] [url]http://学号: 题目:弹球游戏......................................................... PAGEREF _Toc31089 37[/url] [url]http://学号: 题目:饭店点菜管理系统........................................... PAGEREF _Toc19921 38[/url] [url]http://学号: 题目:打字练习应用程序........................................... PAGEREF _Toc12506 39[/url] [url]http://学号: 题目:按揭购房还款程序........................................... PAGEREF _Toc27313 40[/url] [url]http://学号: 题目:趣味打字游戏.................................................. PAGEREF _Toc18951 41[/url] [url]http://学号: 题目:超市销售管理系统........................................... PAGEREF _Toc9317 42[/url] [url]http://学号: 题目:我爱背单词...................................................... PAGEREF _Toc3933 43[/url] [url]http://学号: 题目:记忆力测试...................................................... PAGEREF _Toc30381 44[/url] [url]http://学号: 题目:“赛马”游戏.................................................... PAGEREF _Toc17607 45[/url] 管理系统........................................... 5 学号: 题目:公交查询系统.................................................... 6 学号: 题目:电影院售票系统................................................. 7 学号: 题目:计算机硬件知识考试系统................................... 8 学号: 题目:超市“自由存取箱”的模拟............................. 9 学号: 题目:编程题的题库维护........................................... 10 学号: 题目:小球沿SIN曲线运动........................................ 11 学号: 题目:简单的汽车站售票系统.................................... 12 学号: 题目:健身跑学分管理系统........................................ 13 学号: 题目:教师上课随机点名........................................... 14 学号: 题目:食品信息管理.................................................. 15 学号: 题目:上机管理系统1................................................ 16 学号: 题目:上机管理系统2................................................ 17 学号: 题目:学生入学签到管理........................................... 18 学号: 题目:气温数据管理.................................................. 19 学号: 题目:足球比赛成绩管理........................................... 20 学号: 题目:图书销售管理.................................................. 21 学号: 题目:学生通讯录管理............................................... 22 学号: 题目:银行存取款管理............................................... 23 学号: 题目:图片浏览器...................................................... 24 学号: 题目:图书借还系统.................................................. 25 学号: 题目:选择教师系统.................................................. 26 学号: 题目:学生成绩管理.................................................. 27 学号: 题目:学生选课系统.................................................. 28 学号: 题目:英汉词典......................................................... 29 学号: 题目:微机销售信息系统........................................... 30 学号: 题目:时钟模拟......................................................... 31 学号: 题目:学生信息查询系统........................................... 32 学号: 题目:模仿记事本程序............................................... 33 学号: 题目:工资管理......................................................... 34 学号: 题目:曲柄滑块机构.................................................. 35 学号: 题目:模拟单摆运动.................................................. 36 学号: 题目:弹球游戏......................................................... 37 学号: 题目:饭店点菜管理系统........................................... 38 学号: 题目:打字练习应用程序........................................... 39 学号: 题目:按揭购房还款程序........................................... 40 学号: 题目:趣味打字游戏.................................................. 41 学号: 题目:超市销售管理系统........................................... 42 学号: 题目:我爱背单词...................................................... 43 学号: 题目:记忆力测试...................................................... 44 学号: 题目:“赛马”游戏.................................................... 45
学生管理系统 context = """ 请选择功能------------------- 1、添加学员 2、删除学员 3、修改学员 4、查询学员 5、显示所有学员 6、退出系统 ----------------------------- """ list_members = [{"name": "张三", "student_ID": "0001", "mobile": "11112222300"}, # list_members定义学员列表 {"name": "李四", "student_ID": "0002", "mobile": "11110000222"}] list_students = [] def add_member(): name = input("请输入姓名:") student_ID = input("请输入学号:") mobile = input("请输入手机号码:") dict = {"name": name, "student_ID": student_ID, "mobile": mobile} print() for i in list_members: if i["name"] == name: print("学员已存在!") return list_members.append(dict) print("添加完成") def query_all_students(): list1 = ["姓名", "学号", "手机"] for j in list1: print(j, end="\t") print() for i in list_members: for v in i.values(): print(v, end="\t") print() def del_member(): name = input("请输入要删除学员的名字") for i in list_members: if i["name"] == name: # list_members.pop(list_members.index(i)) list_members.remove(i) print("学员%s删除完成" % name) def change_member(): name = input("请输入姓名:") student_ID = input("请输入学号:") mobile = input("请输入手机号码:") print() for i in list_members: if i["name"] == name: i["name"] = name i["student_ID"] = student_ID i["mobile"] = mobile print("学员信息修改完成") return print("学员不存在") def query_member(): name = input("请输入需要查询的姓名:") for i in list_members: if i["name"] == name: list1 = ["姓名", "学号", "手机"] for j in list1: print(j, end="\t") print() for v in i.values(): print(v, end="\t") print("\n查询完成") return print("该学员不存在") def sys_break(): raise StopIteration() func_dict = { "1": add_member, "2": del_member, "3": change_member, "4": query_member, "5": query_all_students, "6": sys_break} if __name__ == '__main__': try: while True: print(context) func_num = input("请输入功能序号:") if func_num in func_dict: func_dict[func_num]() except StopIteration: pass
1 下一页