Faits: Faits: A. Par jugement du 19 janvier 2004, le Tribunal correctionnel de l'arrondissement de Lausanne a condamné X._ pour vol, faux dans les titres, utilisation frauduleuse d'un ordinateur et tentative de cette infraction à dix mois d'emprisonnement, sous déduction de la détention préventive, peine complémentaire à celle prononcée le 17 septembre 2002 par le Tribunal correctionnel de Lausanne. En outre, il a ordonné l'expulsion de X._ du territoire suisse pour une durée de cinq ans avec sursis et délai d'épreuve de cinq ans. Statuant le 21 mai 2004, la Cour de cassation pénale du Tribunal cantonal vaudois a rejeté les recours de X._ et confirmé le jugement de première instance. Statuant le 21 mai 2004, la Cour de cassation pénale du Tribunal cantonal vaudois a rejeté les recours de X._ et confirmé le jugement de première instance. B. En résumé, la condamnation de X._ repose sur les faits suivants: B.a Le 16 mai 2001, au restaurant M._, X._ a subtilisé la carte de crédit de Y._. Il a ensuite proposé à un commerçant de procéder à une opération fictive portant sur 1'516 francs avec cette carte. En contrepartie, il lui a offert de partager l'argent ainsi obtenu. Le commerçant a dénoncé le cas à la police et a restitué la somme perçue à l'institut de crédit. Avant que la carte ne soit bloquée, X._ l'a encore utilisée illicitement afin de passer des appels depuis un Publiphone, pour un montant de 100 francs, et pour huit tentatives à hauteur de 7'968 francs au total. X._ conteste ces faits, affirmant qu'il était à ce moment à son lieu de travail, sis à la place de la Riponne, à Lausanne. Pour étayer ses dires, il a produit, en seconde instance, une attestation de son employeur, la société P._ SA, du 28 janvier 2004, ainsi qu'un décompte de timbrage signé par une responsable de cette société attestant des heures durant lesquelles il a travaillé le 16 mai 2001. B.b Le 16 septembre 2001, au comptoir suisse, X._ a volé la carte VISA de Z._. Il a demandé ensuite à un compatriote, dénommé A._, de lui remettre de l'argent liquide en échange de quoi il aurait la possibilité d'acheter des articles avec la carte de crédit volée. Ce dernier a accepté. Il a acheté un double lecteur CD au stand B._ SA, a signé la quittance d'achat et remis 500 francs à X._, ainsi que des vêtements au stand O._, où il a signé deux autres quittances. En définitive, la carte VISA a été utilisée frauduleusement à de nombreuses reprises entre les 16 et 18 septembre 2001, pour un montant total de 8'616,85 francs suisses et de 8'185 francs français. Pour admettre la culpabilité du recourant, l'autorité cantonale s'est fondée avant tout sur les déclarations faites durant l'enquête par A._, qui est cependant revenu sur son témoignage lors de l'audience de jugement. Elle a toutefois considéré ce revirement de dernière heure comme non crédible, persuadée que le témoin avait dit la vérité lors des auditions précédentes et qu'il avait menti à l'autorité de jugement pour tirer d'affaire son compatriote. Pour admettre la culpabilité du recourant, l'autorité cantonale s'est fondée avant tout sur les déclarations faites durant l'enquête par A._, qui est cependant revenu sur son témoignage lors de l'audience de jugement. Elle a toutefois considéré ce revirement de dernière heure comme non crédible, persuadée que le témoin avait dit la vérité lors des auditions précédentes et qu'il avait menti à l'autorité de jugement pour tirer d'affaire son compatriote. C. Contre l'arrêt cantonal, X._ forme un recours de droit public et un pourvoi en nullité au Tribunal fédéral. Pour les deux recours, il sollicite l'assistance judiciaire et l'effet suspensif. 