C#--第三周实验--任务3--输入学号和姓名,输出学号为奇数的所有学生。(控制台应用)
2012-09-15 17:37
555 查看
/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:输入学号和姓名,对不存在的学号加到hashtable类的实例中,对存在学号给出提示。结束输入后,输出学号为奇数的所有学生。
* 作 者: 雷恒鑫
* 完成日期: 2012 年 09 月 15 日
* 版 本 号: V1.0
* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述:
* 程序输出:
* 程序头部的注释结束
*/
下面的程序是输出所有学生的信息:
运行结果:
输出所有学号是奇数的学生 完整的程序为:
运行结果:
经验积累:
1.不仅要将数组名实例化,还要将数组中的每一个元素实例化。否则在调用类中数组的函数的时候会发生错误。
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:输入学号和姓名,对不存在的学号加到hashtable类的实例中,对存在学号给出提示。结束输入后,输出学号为奇数的所有学生。
* 作 者: 雷恒鑫
* 完成日期: 2012 年 09 月 15 日
* 版 本 号: V1.0
* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述:
* 程序输出:
* 程序头部的注释结束
*/
下面的程序是输出所有学生的信息:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace The_experiment__of__three__week { class Program { static void Main(string[] args) { int count; bool b = true; Console.Write("请您输入您想保存的学生数:"); count = int.Parse(Console.ReadLine()); hashtable[] h = new hashtable[count]; int i = 1, j = i; while (j > 0) { j = i; if (i <= count) { Console.Write("请您输入第{0}个学生的学号:", i); int number = int.Parse(Console.ReadLine()); Console.Write("请您输入第{0}个学生的姓名:", i); String name = Console.ReadLine(); for (int k = 0; k < i - 2; ++k) { if (h[k].number1().Equals(number)) { Console.WriteLine("您已经输过该同学的信息了,请不要重复输入!"); b = false; break; } } if (b) { h[i - 1] = new hashtable(); h[i - 1].input(number, name); } ++i; } else { Console.WriteLine("您输入的学生数已达到您刚才预先设定值,请停止输入!"); break; } Console.WriteLine(); Console.WriteLine("想结束输入请按 ‘0’ 继续输入请按 ‘1’ "); j = int.Parse(Console.ReadLine()); } for (int n = 0; n < count; ++n) { h .output(); } Console.ReadKey(); } } class hashtable { public int number; public string name; public hashtable(int number, string name) { number = 0; name = null; } public hashtable() { number = 0; name = null; } public void input(int number1, string name1) { number = number1; name = name1; } public int number1() { return number; } public void output() { Console.WriteLine(" 学号 姓名"); Console.WriteLine(" {0} {1}", number, name); } } }
运行结果:
输出所有学号是奇数的学生 完整的程序为:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace The_experiment__of__three__week { class Program { static void Main(string[] args) { int count; bool b = true; Console.Write("请您输入您想保存的学生数:"); count = int.Parse(Console.ReadLine()); hashtable[] h = new hashtable[count]; int i = 1, j = i; while (j > 0) { j = i; if (i <= count) { Console.Write("请您输入第{0}个学生的学号:", i); int number = int.Parse(Console.ReadLine()); Console.Write("请您输入第{0}个学生的姓名:", i); String name = Console.ReadLine(); for (int k = 0; k < i - 2; ++k) { if (h[k].number1().Equals(number)) { Console.WriteLine("您已经输过该同学的信息了,请不要重复输入!"); b = false; break; } } if (b) { h[i - 1] = new hashtable(); h[i - 1].input(number, name); } ++i; } else { Console.WriteLine("您输入的学生数已达到您刚才预先设定值,请停止输入!"); break; } Console.WriteLine(); Console.WriteLine("想结束输入请按 ‘0’ 继续输入请按 ‘1’ "); j = int.Parse(Console.ReadLine()); } Console.WriteLine(); Console.WriteLine("输出学号为奇数的所有学生信息为:"); for (int n = 0; n < count; ++n) { if(h .number1()%2!=0) h .output(); } Console.ReadKey(); } } class hashtable { public int number; public string name; public hashtable(int number, string name) { number = 0; name = null; } public hashtable() { number = 0; name = null; } public void input(int number1, string name1) { number = number1; name = name1; } public int number1() { return number; } public void output() { Console.WriteLine(" 学号 姓名"); Console.WriteLine(" {0} {1}", number, name); } } }
运行结果:
经验积累:
1.不仅要将数组名实例化,还要将数组中的每一个元素实例化。否则在调用类中数组的函数的时候会发生错误。
hashtable[] h = new hashtable[count]; if (b) { h[i - 1] = new hashtable(); h[i - 1].input(number, name); }
相关文章推荐
- C#--第三周实验--任务1--输入一组整数,输出所有的奇数(控制台应用)
- C#--第三周实验--任务2--输入一个由若干字符组成的字符串,输出其中的大写字母、小写字母、数字和其他字符的个数(控制台应用)
- 输入学号和姓名,对不存在的学号加到hashtable类的实例中,对存在学号给出提示。结束输入后,输出学号为奇数的所有学生。
- 输入N个学生的信息(包括:学号,姓名,5科成绩,总分),统计所有学生的总分,存入二进制文件stu_sc.dat中。然后读取该文件,查找总分最高的学生,并输出该生的所有信息。
- C#--第2周实验--任务六--编写一个控制台应用--输出所有的水仙花数
- C#--第2周实验--任务10--编写一个控制台应用--输入一个整数,将其各位数字颠倒顺序后输出
- C#--第2周实验--任务三--编写一个控制台应用--输入x计算并输出分段函数F(x)的值
- C#第四周 任务3.4 输出学号为奇数的所有学生
- 字符串数组 输入3个字符串,要求按由小到大的字母顺序输出; 输入n个学生的姓名和学号到字符串数组中,在输入一个姓名,如果班级有该生则返回其信息,否则返回本班无此人
- C#--第四周实验--任务1--定义学生类,求总成绩和平均成绩。(控制台应用)
- 输入3个学生的学号、姓名和三门功课成绩,输出平均分最高的同学
- 要求从用户输入的多行文本中提取学生的姓名、学号及登录日期,并封装到 Student 类中作为类的私有属性。创建一个 Student 类型的对象数组,对学号进行 升序排序并输出
- C#--第四周实验--任务3--定义一个人员类Cperson,在此基础上派生出学生类CStudent和教师类CTeacher,实现输入输出功能的成员函数。
- 输入10个学生的姓名、学号和成绩,将其中不及格者输出
- 要求从用户输入的多行文本中提取学生的姓名、学号及登录日期,并封装到 Student 类中作为类的私有属性。创建一个Student类型的对象数组,对学号进行 升序排序并输出。
- C#--第七周实验--任务5--编写一个控制台应用,实现输出一个从1开始到511*511长度的随机数序列
- C#--第2周实验--任务8--编写一个控制台应用--输入10个数存入数组,求最大值、最小值和平均值
- 编写一个函数print,打印一个学生的成绩数组,该书组中有五个学生的数据,每个学生的数据包括num(学号)、name(姓名)、score(3门课的成绩)、用主函数输入这些数据,用print函数输出这些
- 实验1 输入若干个学生的信息(学号、姓名、成绩),当输入学号为0时结束
- C#--第2周实验--任务9--编写一个控制台应用--输入一个日期,求该日期是这一年中的第几天