当前位置:编程学习 > C/C++ >>

全部2000分 求c语言高手 帮我 c语言实训

我们要c语言 实训 如果成功2000分分十道题 全送给你
具体题目
音像图书租借管理系统

功能要求:
(1)创建音像图书库。此库易做图有图书、VCD、录像带3类,而每个音像图书的信息均包括编号(用B_**、V_**和R_**分别表示图书、VCD和录像带的编号)、名称、原价、原数量及剩余数量。
(2)租借音像图书。在文件“borrow.dat”中添加租借者的有关信息,信息包括:编号、租借日期、押金、租借天数和租金,其中编号和租借日期需要从键盘输入,而租借天数和租金在归还时由系统自动计算。输入前2项信息后系统立即显示应交的押金额。每个音像图书的押金额由它们的原价决定,是原价的3倍。请注意,租借时音像图书库的剩余量应相应减少,而且当剩余数量为0时应显示“此音像图书已全部借出!”,如果没找到需要借的音像图书,则显示“无此音像图书!”的信息。
(3)归还音像图书。输入编号和归还日期,则显示该音像图书名,并根据租借日期和归还日期,计算租借天数,再借助编号按图书一天1元、VCD一天2元、录像带一天3元的标准计算应交的租金,最后显示押金、租金、应退的余额。如果租借天数过多,导致租金大于押金,则不再收取差额。请注意,归还时音像图书库的剩余量也相应增加,而且在“borrow.dat”文件中,删除该租借者的信息。
(4)购进音像图书。对于原有的音像图书,只增加其原数量,而对于新增加的音像图书,则需要再音像图书库中添加新的纪录。
(5)报废音像图书。对于丢失、过期的音像图书进行报废处理,但当原数量和剩余数量不相等,即已借出的音像图书不能报废。
(6)退出系统。
菜单要求:
设计循环显示如图所示的主菜单程序。
|----------------------------------------------|
| 请输入选项编号(0——5): |
|----------------------------------------------|
| 1——创建音像图书库 |
| 2——租借音像图书 |
| 3——归还时音像图书 |
| 4——购进音像图书 |
| 5——报废音像图书 |
| 0——退出系统 |
|----------------------------------------------|
用vc6.0的 source 编写...
留下你的qq 我们晚上详聊 谢谢各位 达人
答案:#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename( "EOF", "adoEOF" )//必需自带dll库函数
#include <ole2.h>
#include <stdio.h>
#include <conio.h>
#include "string.h"
#include <malloc.h>
#include <stdlib.h>
#include <windows.h>

struct MYDATE{//自定义时间结构体。
int YEAR;
int MONTH;
int DAY;
};
inline void TESTHR(HRESULT x) {if FAILED(x) _com_issue_error(x);};
void ItemX(int select);//数据库操作
BOOL saveFile(char* bookID,char *time,float price);//保存文件
BOOL DeleteFile(char* bookID,MYDATE data,float price);//删除文件记录,再保存
void PrintProviderError(_ConnectionPtr pConnection);//数据库出错处理
void PrintComError(_com_error &e);//数据库出错处理
void Begin(int &select);//起点
char* left(char *pch,int len);//字符串取左位
char* right(char *pch,int len);
int findString(char *pch,char *temp);//字符串取相同字符首地址。
int main(int argc, char* argv[])
{

if(FAILED(::CoInitialize(NULL)))

return 0;
int select=-1;
Begin(select);
//Wait here for the user to see the output
printf("谢谢使用.\n本软件只提供学习参考,不得用于其它商业软件.\nEmail:worldk@163.com\n"
"Press any key to continue...\n");
getch();

::CoUninitialize();
return 0;
}
BOOL saveFile(char* bookID,char *time,float price)/*int x,int y,MYDATA data)*/
{
char buff[100];FILE *file;char* strfile="\0";
WIN32_FIND_DATA FindFileData;
HANDLE hFind;
hFind = FindFirstFile("borrow.dat", &FindFileData);

if (hFind == INVALID_HANDLE_VALUE) {
printf ("未找到文件 %d\n", GetLastError ());
} else {
FindClose(hFind);

memset(buff,0,100);
file=fopen("borrow.dat","rb");
fseek(file,0,SEEK_END);
int len=ftell(file);
strfile=new char[len];
rewind(file);
fread(strfile,1,len+1,file);
strfile[len]='\0';
fclose(file);
}
file=fopen("borrow.dat","wb");
//编号、租借日期、押金。略……x,y,data运算自加
fseek(file,0,SEEK_END);
sprintf(buff,"%s,%s,%.2f\n",bookID,time,price*3);
fwrite(buff,1,strlen(buff),file);
fwrite(strfile,1,strlen(strfile),file);

fclose(file);
printf("写入文件成功\n");
return TRUE;
}
int findString(char *pch,char *temp)
{
int len=strlen(pch);
int templen=strlen(temp);

printf("%d\t",len);
int pos=0;
char* pch1=pch;
char *pch2=temp;
while(*pch1)
{
for(int i=0;i<templen;i++)
{
if(*(pch1+i)!=temp[i])

break;
}
if(i==templen)
return pos;
pch1++;
pos++;
}
return -1;
};
char* left(char *pch,int len)
{
char* pch1=(char *)malloc( _MAX_PATH );
strcpy(pch1,pch);
pch1[len]='\0';
return pch1;
}
char* right(char *pch,int len)
{
char* pch1=(char *)malloc( _MAX_PATH );
strcpy(pch1,pch);
pch1+=len;
return pch1;
}
BOOL DeleteFile(char* bookID,MYDATE data,float price)/*int x,int y,MYDATA data)*/
{
char buff[100];FILE *file;char* strfile="\0";
WIN32_FIND_DATA FindFileData;
HANDLE hFind;
hFind = FindFirstFile("borrow.dat", &FindFileData);

if (hFind == INVALID_HANDLE_VALUE) {
printf ("未找到文件 %d\n", GetLastError ());//未找到文件
return FALSE;
} else {
FindClose(hFind);
memset(buff,0,100);
file=fopen("borrow.dat","rb");
fseek(file,0,SEEK_END);
int len=ftell(file);
strfile=new char[len];
rewind(file);
fread(strfile,1,len+1,file);
strfile[len]='\0';
fclose(file);
}
sprintf(buff,"%s,%d-%d-%d",bookID,data.YEAR,data.MONTH,data.DAY);这种事情,不懂的人花几百块报个培训班出来都不一定做得出 在问问… 你还是洗洗睡吧,不可能有结果的

你什么时候交?  1个星期差不多

上一个:C语言里的gets()函数
下一个:C语言用数组和函数分开正负数.

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,