结队编程1-四则运算(107、120)

[码市链接]https://git.coding.net/Luojiening/Teamwork1.git

a.需求分析

将这个程序做成GUI(可以是Windows PC 上的,也可以是Mac、Linux,web,手机上的),成为一个有基本功能、一定价值的程序。

1.记录用户的对错总数,程序退出再启动的时候,能把以前的对错数量保存并在此基础上增量计算;

2.有计时功能,能显示用户开始答题后的消耗时间;

3.界面支持中文简体/中文繁体/英语,用户可以选择一种。

b.功能设计

1.生成自定义数目算术题。

2.支持整数和分数的加减乘除。

3.输入答案后判断对错,错误后写出正确答案。

4.记录用户的对错总数,并且在以前的基础上进行增量计算

5.中英文切换。

6.计时功能

思维导图:

c.代码展示

程序中判断正误的代码如下

```
char* Submit(char result[],char * answer)
{
static char prompt[20];
FILE * in;
FILE * out;

in=fopen("number.txt","r");
fscanf(in,"%d,%d",&right,&wrong);
fclose(in);

if(strcmp(answer,result)==0)
{
strcpy(prompt,"正确!");
right++;
}
else
{
strcpy(prompt,"错误!  ");
strcat(prompt,"正确答案是:");
strcat(prompt,result);
wrong++;
}

out=fopen("number.txt","w");
fprintf(out,"%d,%d",right,wrong);
fclose(out);

return prompt;
}

计时功能的代码如下:

```
void chinese::OnButton()
{
    // TODO: Add your control notification handler code here
    UpdateData();
    m_Show1=Draw();
    start=clock();
    UpdateData(false);
}

void chinese::OnButton_Submit()
{
    // TODO: Add your control notification handler code here
    finish= clock();
    duration =(double)(finish-start)/CLOCKS_PER_SEC;
    sprintf(temp,"%g",duration);
    m_Show3=temp;
    UpdateData(false);
}

```

通过按钮选择语言的代码(主界面到中文界面)

```
void CTeamworkDlg::OnChinese()
{
    // TODO: Add your control notification handler code here
    chinese chinese;
    CTeamworkDlg::OnOK();
    chinese.DoModal();

}

```

d.程序运行截图

psp:

PSP2.1 Personal Software Process Stages Time (%) Senior Student(/hour) Time (%)(/hour)
· Planning 计划 2.5 2
· Estimate 估计这个任务需要多少时间 40 54
· Analysis 需求分析 (包括学习新技术) 3 3
· Coding Standard 代码规范 1 2
· Design 具体设计 2 3
· Coding 具体编码 32 44
· Test 测试(自我测试,修改代码,提交修改) 1 1
Reporting 报告 1 1

e.实验小结

对于这次的实验,首先得承认一点,自己很“躺”(就是抱到大腿的意思),本来我想用java来改写自己上次的代码,但是写出了一个基本的图形界面后其他的功能就很难进行,然后为了响应“结队编程”的号召,我就向队友杰宁学习,他是用vc++里的MFC来做图形界面的,不得不说用mfc做图形界面果然麻烦的很。至于结队编程的好处就是遇到问题时可以两人一起上网找资料然后讨论并改进,效率会更高一点,不如一个人来的枯燥乏味!

时间: 2024-08-06 20:03:36

结队编程1-四则运算(107、120)的相关文章

20165214 结队编程项目-四则运算(第二周)

20165214 第一次结队编程项目--四则运算第二周 需求分析 本周的结队编程想要实现一个四则运算系统,它可以自动生成n个计算题(本周不包括分数),其中n由我们输入.每输出一道题目,运行程序的人需要输入相应的答案,直到最后一道题做完.最后,统计正确率.然后,在这个基础上可以进行相应的功能扩展,比如语言支. 设计思路 我需要在上周的基础上对程序进行补充.在题目的生成上,应该再加上括号.÷./ 本周达成: ①能够随机生成n道题目,n由我们输入,最大长度可直接在程序里面修改: ②支持真分数运算: ③

20175126Apollo 20175126《Java程序设计》结队编程项目——四则运算 第一周阶段总结

结队编程项目——四则运算 一.项目需求 自动生成小学四则运算题目(加.减.乘.除)统计正确率 支持整数 支持多运算符(比如生成包含100个运算符的题目) 支持真分数 需求分析: 生成四则运算:需要使用随机数生成,需要创造一个能实现计算功能的类. 支持多运算符:运算符也需要利用随机生成,并且不限个数. 支持真分数:需要用到生成分子.分母的函数,将分数化简等. 统计正确率:需要设置一个计算变量,并需要用一个判断正确的函数. 二.设计思路 首先根据需求分析,进行大体的设计: 生成题目→输入答案→判断正

20175314 结队编程项目——四则运算第二周

20175314 结队编程项目--四则运算第二周 一.需求分析 实现一个命令行程序,要求: 自动生成小学四则运算题目(加.减.乘.除) 支持整数 支持多运算符(比如生成包含100个运算符的题目) 支持真分数 统计正确率 能生成随机数 产生的算式要有括号 要建立堆栈,进行中缀转后缀,以及后续后缀的运算 能输入想要产生的题目数 能输入用户计算的答案 能够比较用户输入的答案是否正确 能够统计用户答题的正确率 二.设计思路 生成一个有加减乘除支持括号的算式,以字符串的形式输出,每个操作数或操作符中间都用

结队编程第三次作业

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Simple_arithmetic //简易四则运算{ class Program { public static void Ni() { Console.WriteLine("请输入您想做的运算: "); Console.WriteLine("输入 [+] 表示加法"); C

20165235 结对编程项目-四则运算 整体总结

20165235 结对编程项目-四则运算 整体总结 一.需求分析 本次实验需要产生随机数然后对其进行相应的计算.产生随机数可以直接在主类中进行,四则运算可以通过堆栈实现,可能会出现分母为零的bug,也要对其进行相应的修复.可以将字符序列装换成字符数组,在对字符数组中"/"符号之后的数字进行判断,如果是0就返回-1. 二.设计思路 本次实验总共分为两个思路:(1)是通过类Operate中的calculate方法进行计算,计算的数值由主类Main给出.并对其修复了分母为零的bug(在Mai

20175209王梓鸿 结对编程项目—四则运算 第一周 阶段总结

20175209王梓鸿 结对编程项目-四则运算 第一周 阶段总结 一.需求分析 1.题目要求: 实现一个命令行程序,要求: 自动生成小学四则运算题目(加.减.乘.除) 支持整数 支持多运算符(比如生成包含100个运算符的题目) 支持真分数 统计正确率 扩展需求 文件 处理生成题目并输出到文件 完成题目后从文件读入并判题 多语言支持简体中文,繁體中文,English 生成题目去重 二.设计思路 1.编写背景及完成情况 在开始写设计思路之前,我觉得应该说一下我们编写的情况(可能有些跑题).这次结对的

20175325 第二周结对编程项目 四则运算

20175325 第二周结对编程项目 四则运算 一.需求分析: 实现一个命令行程序,要求: 自动生成小学四则运算题目(加.减.乘.除) 支持整数 支持多运算符(比如生成包含100个运算符的题目) 支持真分数 统计正确率 题目去重 能多次生成四则运算题目 能根据用户输入的数字生成四则运算的题目数量 多语言支持: 简体中文, 繁體中文, English 文件: 处理生成题目并输出到文件 完成题目后从文件读入并判题 用户能够选择是否开始答题 二. 设计思路: 产生随机数并且考虑符号的优先级. 能实现整

结对编程项目——四则运算

1. 结对编程项目---四则运算 (10分) 基本功能要求: 1) 实现一个带有用户界面的四则运算.2) 生成的题目不能重复.3) 支持负数,例如-1,-1/2,-3‘4/5等.(达成) 需要支持的基本设定参数 1) 题目的数量  2) 数值的范围  3) 题目中最多几个运算符(目前没有达成)  4) 题目中或运算过程中有无有分数(比如进行整数除法的时候不能除尽) 5) 题目中是否有乘除法  6) 题目中是否有括号 (目前没有达成) 7) 题目中或运算过程中有无负数         学习感受:

补结对编程(四则运算)

结对编程(四则运算)结对伙伴:刘芳芳.于淼主要用java实现编码内容:给小学生出题的四则运算四种运算1-加法2-减法3-乘法4-除法0-退出 四则运算PSP 类别 开始时间 结束时间 间隔时间 累计净时间 四则运算分析 7:30 8:00 0 30分 编码 8:00 10:43 0 2小时43分 总结 10:43 10:50 0 7分 补充代码函数进度 代码如下:循环遍历运算字符串: 1 private static String interceptOperation(String operat