在线等啊~~C语言 建立txt保存数据@_@

求帮忙…T^T希望可以自己输入一个标题然后以此为标题建立一个txt文档然后再进行第一次选择选1就在txt里写一个A2写B3写C4D5E6F然后进行第二次选择选1就接着提行... 求帮忙… T^T

希望可以自己输入一个标题 然后以此为标题建立一个txt文档
然后再进行第一次选择
选1 就在txt里写一个A
2写B 3写C 4D 5E 6F
然后进行第二次选择
选1就接着提行写一个15ml
选2就写一个30ml 选3 45ml 4 60ml
然后进行第三次选择
从a-z里面可以任意选 就是选了一个以后 问 请问还要继续选择吗
如果是就继续选择..但是不能重复
如果否就把刚刚选的提行写到txt里
然后最后可以通过一个菜单查看所有自己建立的txt..
..不知道说清楚了没有 求高手帮忙啊~~
展开
 我来答
令狐天天
2013-06-30 · 超过33用户采纳过TA的回答
知道答主
回答量:62
采纳率:100%
帮助的人:60.3万
展开全部

添加了防止重复的功能,没有测试能否使用中文文件名。 

如果希望使用自动打开刚刚建立的文件,请使用带有.txt后缀的文件名。


#include "stdafx.h"
#include <iostream>
#include<fstream>
#include<string>
#include<set>

using namespace std;

int main()
{
string fileName;
cout<<"enter file name, for example: example.txt"<<endl;
cin>>fileName;
ofstream of1;
of1.open(fileName);
cout<<"enter the first number"<<endl;
int num1;
cin>>num1;
char c1='A'+num1-1;
of1<<c1<<endl;
cout<<"enter the second number"<<endl;
int num2;
cin>>num2;
switch (num2)
{
case 1:
of1<<"15ml"<<endl; break;
case 2:
of1<<"30ml"<<endl; break;
case 3:
of1<<"45ml"<<endl; break;
case 4:
of1<<"60ml"<<endl; break;
}

set<char> s1;
while(true)
{
cout<<"enter a letter from a-z"<<endl;
char c2;
cin>>c2;
if(c2>'z' || c2<'a')
{
cout<<"illegal input"<<endl;
continue;
}
if(s1.count(c2))
{
cout<<c2<<" already exists"<<endl; //防¤¨¤止1重?复&#161;&#228;
}
else
{
s1.insert(c2);
of1<<c2;
}
cout<<"do you want to continue ? y for yes, n for no"<<endl;
//是&#186;?否¤?继¨&#172;续?输&#186;?入¨?
char c3;
cin>>c3;
if(c3=='n')
{
of1<<endl;
break;
}
}
of1.close();
cout<<"do you want to open the file you just created"<<endl;
cout<<"y for yes, n for no"<<endl;
char c4;
cin>>c4;
if(c4=='y')
{
cout<<"opening ..."<<endl;
system(fileName.c_str());
}
return 0;
}

 这是用C++写的,如果是需要使用纯c的话,用fopen()代替 ofstream。

查找重复的话,使用bool [26]来检索是否该字母已经输入过了。

更多追问追答
追问
..那开头的那些include要改吗。。
不好意思实在是hold不住啊。。你可以帮我改成C语言的吗。。T^T
追答

超字数了,我存附件了


推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式