o0LTIMAT0Ro
شنبه 09 مرداد 1389, 17:22 عصر
1-stringstream براي چي به کار ميبريم؟
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main ()
{
string mystr;
float price=0;
int quantity=0;
cout << "Enter price: ";
getline (cin,mystr);
stringstream(mystr) >> price;
cout << "Enter quantity: ";
getline (cin,mystr);
stringstream(mystr) >> quantity;
cout << "Total price: " << price*quantity << endl;
return 0;
}
2-
آقا من این برنامه رو نوشتم.اما نمیدونم چرا فقط مثلا وقتی اسم و آدرس و غیره اگه عدد باشه مشکلی پیش نمیاد ولی وقتی کاراکتر باشه کار نمیکنه؟
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#include<dos.h>
/*******************
STRUCT PIECE:
******************/
struct addr{
int num;
char name[25];
char addr[50];
unsigned long int zip;
}addr_info[100];
void do_null();
void add(); //0k
void rem(); //0k
void menu(); //0k
void srch(); //0k
void lst_all(); //0k
void n_all_list(); //0k
void shw_slct(); //0k
int find_last(); //0k //0k
void exit(); //0k
void choose(int *);
//////////////////////---*************************---//////////////////////////////
void main(int argc,char *argv[]){
clrscr();
clrscr();
//------>Hello Screen;
if (*argv[1] && argc==2) {
cout<<"\nHi "<<argv[1];
sleep(2);
}
//<---------------End hello screen;
do_null();
menu();
}
void menu(){
int *c;
clrscr();
cout<<"\n******************************************\n";
cout<<"\n* ENTER 1 TO ADD. *";
cout<<"\n* ENTER 2 TO REMOVE. *";
cout<<"\n* ENTER 3 TO SEARCH. *";
cout<<"\n* ENTER 4 TO NUMBER OF USER. *";
cout<<"\n* ENTER 5 TO LIST SELECTED. *";
cout<<"\n* ENTER 6 TO LIST ALL. *";
cout<<"\n* ENTER 7 TO EXIT. *";
cout<<"\n******************************************\n";
cin>>*c;
choose(c);
}
void exit() {
char ans;
int c;
cout<<"\n Do You Like To Exit Really?(yes/n0)";
cin>>ans;
if (ans=='y')
{
exit(1);
}else{
menu();
}
}
void choose(int *c){
switch(*c) {
case 1:
add();
break;
case 2:
rem();
break;
case 3:
srch();
break;
case 4:
n_all_list();
break;
case 5:
shw_slct();
break;
case 6:
lst_all();
break;
case 7:
default :
exit();
}
}
void add(){
int n;
n=find_last();
clrscr();
addr_info[n].num=n;
cout<<"\nEnter Name:";
cin>>addr_info[n].name;
cout<<"\nEnter addres:";
cin>>addr_info[n].addr;
cout<<"\nEnter zip:";
cin>>addr_info[n].zip;
menu();
}
int find_last(){
for (int i=0;atoi(addr_info[i].name);++i);
return i;
}
void rem(){
int rec;
cout<<"\n Enter REcord(0-99)";
cin>>rec;
addr_info[rec].name[0]='\0';
cout<<"\n Succes \n";
menu();
}
void srch(){
int srch;
cout<<"\nPLEASE ENTER YOUR RECORED:(1-100)";
cin>>srch;
///////////
if(srch<=find_last() && srch>=0){
cout<<"\nname:"<<addr_info[srch-1].name<<"\tAddress:"<<addr_info[srch-1].addr<<"\t Zip:"<<addr_info[srch-1].zip;
}else{
cout<<"\n INVALID RECORED!";
}
getch();
menu();
}
void lst_all(){
int n;
n=find_last();
//cout<<"************************************************** ***********************";// $ Should active with list!
for (int i=0;i<n;i++){
cout<<"\n************************************************ *";
cout<<"\n Num:"<<i+1;
cout<<"\n Name:"<<addr_info[i].name;
cout<<"\n Address:"<<addr_info[i].addr;
cout<<"\n Zip:"<<addr_info[i].zip;
cout<<"\n************************************************ *";
}
sleep(3);
menu();
}
void n_all_list(){
cout<<"\n"<<(find_last()+1);
sleep(2);
menu();
}
void shw_slct(){
int n;
cout<<"\n 0k,please enter your record that you want to check it!(1-99)";
cin>>n;
cout<<"*************************************************";
cout<<"\n Num:"<<n;
cout<<"\n Name:"<<addr_info[n-1].name;
cout<<"\n Address:"<<addr_info[n-1].addr;
cout<<"\n Zip:"<<addr_info[n-1].zip;
cout<<"\n************************************************ *";
sleep(3);
menu();
}
void do_null(){
for(int i=0;i<=100;i++){
addr_info[i].name[0]='\0';
cout<<"\n\n\n";
}}
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main ()
{
string mystr;
float price=0;
int quantity=0;
cout << "Enter price: ";
getline (cin,mystr);
stringstream(mystr) >> price;
cout << "Enter quantity: ";
getline (cin,mystr);
stringstream(mystr) >> quantity;
cout << "Total price: " << price*quantity << endl;
return 0;
}
2-
آقا من این برنامه رو نوشتم.اما نمیدونم چرا فقط مثلا وقتی اسم و آدرس و غیره اگه عدد باشه مشکلی پیش نمیاد ولی وقتی کاراکتر باشه کار نمیکنه؟
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#include<dos.h>
/*******************
STRUCT PIECE:
******************/
struct addr{
int num;
char name[25];
char addr[50];
unsigned long int zip;
}addr_info[100];
void do_null();
void add(); //0k
void rem(); //0k
void menu(); //0k
void srch(); //0k
void lst_all(); //0k
void n_all_list(); //0k
void shw_slct(); //0k
int find_last(); //0k //0k
void exit(); //0k
void choose(int *);
//////////////////////---*************************---//////////////////////////////
void main(int argc,char *argv[]){
clrscr();
clrscr();
//------>Hello Screen;
if (*argv[1] && argc==2) {
cout<<"\nHi "<<argv[1];
sleep(2);
}
//<---------------End hello screen;
do_null();
menu();
}
void menu(){
int *c;
clrscr();
cout<<"\n******************************************\n";
cout<<"\n* ENTER 1 TO ADD. *";
cout<<"\n* ENTER 2 TO REMOVE. *";
cout<<"\n* ENTER 3 TO SEARCH. *";
cout<<"\n* ENTER 4 TO NUMBER OF USER. *";
cout<<"\n* ENTER 5 TO LIST SELECTED. *";
cout<<"\n* ENTER 6 TO LIST ALL. *";
cout<<"\n* ENTER 7 TO EXIT. *";
cout<<"\n******************************************\n";
cin>>*c;
choose(c);
}
void exit() {
char ans;
int c;
cout<<"\n Do You Like To Exit Really?(yes/n0)";
cin>>ans;
if (ans=='y')
{
exit(1);
}else{
menu();
}
}
void choose(int *c){
switch(*c) {
case 1:
add();
break;
case 2:
rem();
break;
case 3:
srch();
break;
case 4:
n_all_list();
break;
case 5:
shw_slct();
break;
case 6:
lst_all();
break;
case 7:
default :
exit();
}
}
void add(){
int n;
n=find_last();
clrscr();
addr_info[n].num=n;
cout<<"\nEnter Name:";
cin>>addr_info[n].name;
cout<<"\nEnter addres:";
cin>>addr_info[n].addr;
cout<<"\nEnter zip:";
cin>>addr_info[n].zip;
menu();
}
int find_last(){
for (int i=0;atoi(addr_info[i].name);++i);
return i;
}
void rem(){
int rec;
cout<<"\n Enter REcord(0-99)";
cin>>rec;
addr_info[rec].name[0]='\0';
cout<<"\n Succes \n";
menu();
}
void srch(){
int srch;
cout<<"\nPLEASE ENTER YOUR RECORED:(1-100)";
cin>>srch;
///////////
if(srch<=find_last() && srch>=0){
cout<<"\nname:"<<addr_info[srch-1].name<<"\tAddress:"<<addr_info[srch-1].addr<<"\t Zip:"<<addr_info[srch-1].zip;
}else{
cout<<"\n INVALID RECORED!";
}
getch();
menu();
}
void lst_all(){
int n;
n=find_last();
//cout<<"************************************************** ***********************";// $ Should active with list!
for (int i=0;i<n;i++){
cout<<"\n************************************************ *";
cout<<"\n Num:"<<i+1;
cout<<"\n Name:"<<addr_info[i].name;
cout<<"\n Address:"<<addr_info[i].addr;
cout<<"\n Zip:"<<addr_info[i].zip;
cout<<"\n************************************************ *";
}
sleep(3);
menu();
}
void n_all_list(){
cout<<"\n"<<(find_last()+1);
sleep(2);
menu();
}
void shw_slct(){
int n;
cout<<"\n 0k,please enter your record that you want to check it!(1-99)";
cin>>n;
cout<<"*************************************************";
cout<<"\n Num:"<<n;
cout<<"\n Name:"<<addr_info[n-1].name;
cout<<"\n Address:"<<addr_info[n-1].addr;
cout<<"\n Zip:"<<addr_info[n-1].zip;
cout<<"\n************************************************ *";
sleep(3);
menu();
}
void do_null(){
for(int i=0;i<=100;i++){
addr_info[i].name[0]='\0';
cout<<"\n\n\n";
}}