当前位置:三九宝宝网 → 宝宝教育 → 教学论文 → 正文

C语言编程保存显示

更新:02-15 整理:39baobao.com
字体:

[为什么 C语言图形库函数输出没有显示]if(闪一下屏就退出了) {在程序末加上一个getch(); } if(加上getch();后运行屏幕上方英文提示) {多数是图形模式的设置函数的问题 } if(程序根本无法运行) {检查tc设置: 菜单options->...+阅读

正好以前写过个差不多的程序,我拿来改了一下,纯C是实现不了图形化编程的。这个程序里面用到了一个线程来控制随机显示单词中的退出,其它都是标准C范围,我的编译环境是VC++2008 express,估计vc6应该也可以吧。实现过程现在没时间写了,如果有需要的话,我有空再补上。//created by onceway-annaqsy#include #include #include #include #include #include //文件路径#define FILEPATH "C:\\word.txt"//单词最大长度#define WORDLEN 100//最大单词数#define MAXWORDS 1000//单词显示的超时时间(秒)#define PASSTIME 3 int wordcount = 0; int quit = 0;//读文件 char ** loadfile() { FILE *fp; char **word = NULL; wordcount = 0; fp = fopen(FILEPATH, "r"); if (NULL == fp) { return NULL; } //申请char数组空间 word = (char **)malloc(sizeof(char) * MAXWORD); //读出一行则为char数组申请一行的空间 while(!feof(fp)) { word[wordcount] = (char *)malloc(sizeof(char) * WORDLEN); fgets(word[wordcount++], WORDLEN, fp); if(wordcount >MAXWORDS) break; } wordcount--; fclose(fp); return word; }//释放空间 void release(char **word) { int i; for (i = 0 ; i free(word[i]); free(word); }//信息录入 void input(char ** words) { char word[WORDLEN]; FILE *fp; fp = fopen(FILEPATH, "a+"); if (NULL == fp) { perror("fopen"); return; } printf("输入单词(直接按回车键结束)\n"); while

(1) { gets(word); if(0 == strlen(word)) break; fprintf(fp, "%s\n", word); } fclose(fp); //信息录入后重新载入文件 release(words); words = loadfile(); }//随机显示单词 void randomword(char **word) { int *sort = (int *)malloc(sizeof(int) * wordcount); int i, j; srand((int)time(NULL)); quit = 0; if(wordcount == 0) { printf("单词本内无内容,按任意键返回 ..."); _getch(); } //随机排序 for(i=0; i { sort[i] = rand() % wordcount; for(j=0; j { if(sort[i] == sort[j]) { i--; break; } } } //显示 for (i = 0 ; i { system("cls"); printf(word[sort[i]]); Sleep(PASSTIME * 1000); } quit = 1; printf("单词显示结束,按任意键返回菜单 ...\n"); _getch(); }//按键判断线程,用于随机显示单词中的退出 void wait() { while(!quit) { char ch = _getch(); if(ch == '\033') quit = 1; } } int main() { int i; char **word; char ch; HANDLE ht; word = loadfile(); while

(1) { system("cls"); printf("1. 录入\n"); printf("2. 列表\n"); printf("3. 复习\n"); printf("0. 退出\n"); ch = _getch(); switch(ch) { case '1': system("cls"); input(word); break; case '2': system("cls"); if(wordcount == 0) { printf("单词本内无内容,按任意键返回 ..."); _getch(); break; } for(i=0; i printf(word[i]); printf("单词显示结束,按任意键返回菜单 ...\n"); _getch(); break; case '3': system("cls"); printf("按任意键开始,过程中按ESC键结束 ...\n"); _getch(); //创建线程,监听按键响应 ht = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)wait, NULL, 0, NULL); randomword(word); break; case '0': release(word); return 0; break; default: break; } } return 0; }

本文地址:https://www.39baobao.com/show/29_41873.html

以上内容来自互联网,请自行判断内容的正确性。若本站收录的信息无意侵犯了贵司版权,请联系我们,我们会及时处理和回复,谢谢.

以下为关联文档:

C语言程序想从本地读取 word txt中的内容并逐行显示在显示#include #include #include int main() { char ch; char buffer[1024];//缓冲区 int len = 0; FILE *fp; fp=fopen("/home/lay/Desktop/baby/word/word.txt","r"); if(fp==NULL)...

用LED灯显示倒计时10秒 51单片机C语言编程跪求你的分不好拿啊= =!!!! #include#define uchar unsigned char//宏定义 #define uint unsigned int sbit dula=P2^6; //段控制位 sbit wela=P2^7; //位控制位 uchar miao,fen,aa,n1...

怎样在C语言中动态显示时间得到系统时间: 1.使用CTime类 CTime tm=CTime::GetCurrentTime(); CString str=tm.Format(“现在时间是:%Y年%m月%d日 %X”); MessageBox(str,NULL,MB_OK); 2: 得到系统时间日期(...

C语言中怎样调用系统时间并动态显示得到系统时间: 1.使用CTime类 CTime tm=CTime::GetCurrentTime(); CString str=tm.Format(“现在时间是:%Y年%m月%d日 %X”); MessageBox(str,NULL,MB_OK); 2: 得到系统时间日期(...

编写c语言程序计算并显示任意给定值的阶乘#include <stdio.h> void main() { int i=0,N,j=1; printf("请输入一个整数"); scanf("%d",&N); if(N<0) { printf("错误!"); return; }else if(N==0){ printf("%d的阶乘是1\n",N); return;...

怎样用C语言保存一个文件在C语言中,文件有多种读写方式,可以一个字符一个字符地读取,也可以读取一整行,还可以读取若干个字节。文件的读写位置也非常灵活,可以从文件开头读取,也可以从中间位置读取。 在C...

你好请问一下C语言怎么实现保存功能#include <stdio.h> 基本的文件操作 打开文件 FILE * fdopen(int fildes, const char *mode); 读文件 size_t fread(void *ptr, size_t size, size_t nitems, FILE *stream)...

求C语言大神讲解怎么保存文件这个我们一般用一个txt文件保存,这里用到的就是文件存储方面的知识#include//文件的录入void save_file(struct node* p){ FILE *fp; char *filename = "1.txt";//文件名称 fp=...

LCD1602用C语言编程如何显示字符void delay(uint z);//延时,1微妙时间有点短你看看下面我做的程序,在2051+12M晶振通过你可以套用这个程序,不行的话就改长延时/******************AT89S51使用12M晶振**********...